From d3e06d81ede387c0e5db6e7f760c774e272a1616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <alan.munoz@ed.ac.uk> Date: Mon, 19 Dec 2022 18:35:03 +0000 Subject: [PATCH] fix(dsignal): cover empty cases --- src/postprocessor/core/processes/dsignal.py | 23 ++++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/postprocessor/core/processes/dsignal.py b/src/postprocessor/core/processes/dsignal.py index 12631958..50bc25e4 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) -- GitLab