diff --git a/src/postprocessor/core/processes/dsignal.py b/src/postprocessor/core/processes/dsignal.py index 1263195888fe6cf76e7e021864d02f07ce17370c..50bc25e4e2da8f9fa39821e649dc5e74f44bca99 100644 --- a/src/postprocessor/core/processes/dsignal.py +++ b/src/postprocessor/core/processes/dsignal.py @@ -23,16 +23,19 @@ class dsignal(PostProcessABC): super().__init__(parameters) def run(self, signal: pd.DataFrame): - matrix = np.diff( - bn.move_mean( - signal, - window=self.parameters.window, - min_count=self.parameters.min_count, + if signal.shape[1] > self.parameters.window: + matrix = np.diff( + bn.move_mean( + signal, + window=self.parameters.window, + min_count=self.parameters.min_count, + axis=1, + ), axis=1, - ), - axis=1, - ) + ) + # Pad values to keep the same signal shape + matrix = np.pad(matrix, ((0, 0), (0, 1)), constant_values=np.nan) + else: + matrix = np.full_like(signal, np.nan) - # Pad values to keep the same signal shape - matrix = np.pad(matrix, ((0, 0), (0, 1)), constant_values=np.nan) return pd.DataFrame(matrix, index=signal.index, columns=signal.columns)