From c03197f33b533aa2e84896b1b0726693f53f3f82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Peter=20L=C3=BCnenschlo=C3=9F?= <peter.luenenschloss@ufz.de>
Date: Tue, 23 Apr 2024 15:16:47 +0200
Subject: [PATCH] Horizontal axis rolling

---
 CHANGELOG.md                                  |   1 +
 .../images/horizontalAxisRollingExample.png   | Bin 0 -> 61939 bytes
 .../horizontalAxisRollingExample.png.license  |   3 +
 saqc/funcs/rolling.py                         | 127 ++++++++++++++++--
 tests/funcs/test_proc_functions.py            |  21 +++
 5 files changed, 139 insertions(+), 13 deletions(-)
 create mode 100644 docs/resources/images/horizontalAxisRollingExample.png
 create mode 100644 docs/resources/images/horizontalAxisRollingExample.png.license

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 064466aa5..5f83a8da1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 - `setFlags`: function to replace `flagManual`
 - `flagUniLOF`: added parameter `slope_correct` to correct for overflagging at relatively steep data value slopes
 - `History`: added option to change aggregation behavior
+- "horizontal" axis / multivariate mode for `rolling`
 - Translation scheme `AnnotatedFloatScheme`
 ### Changed
 - `SaQC.flags` always returns a `DictOfSeries`
diff --git a/docs/resources/images/horizontalAxisRollingExample.png b/docs/resources/images/horizontalAxisRollingExample.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5f1dff483e43e6bfc0718f6d6f50c32c0fae312
GIT binary patch
literal 61939
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
Y4mtXuL>aOb2L8!PDM%JSfBoVA0h^iyrT_o{

literal 0
HcmV?d00001

diff --git a/docs/resources/images/horizontalAxisRollingExample.png.license b/docs/resources/images/horizontalAxisRollingExample.png.license
new file mode 100644
index 000000000..f8c6bf8cd
--- /dev/null
+++ b/docs/resources/images/horizontalAxisRollingExample.png.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2021 Helmholtz-Zentrum für Umweltforschung GmbH - UFZ
+
+SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
diff --git a/saqc/funcs/rolling.py b/saqc/funcs/rolling.py
index 2a1b95ef2..dfcdfd23c 100644
--- a/saqc/funcs/rolling.py
+++ b/saqc/funcs/rolling.py
@@ -12,6 +12,7 @@ from typing import TYPE_CHECKING, Callable, Union
 import numpy as np
 import pandas as pd
 
+import saqc
 from saqc.core import DictOfSeries, Flags, register
 from saqc.lib.checking import (
     validateCallable,
@@ -26,11 +27,14 @@ if TYPE_CHECKING:
 
 
 class RollingMixin:
-    @register(mask=["field"], demask=[], squeeze=[])
+    @register(
+        mask=["field"], demask=[], squeeze=[], multivariate=True, handles_target=True
+    )
     def rolling(
         self: "SaQC",
-        field: str,
+        field: str | list[str],
         window: str | int,
+        target: str | list[str] = None,
         func: Callable[[pd.Series], np.ndarray] | str = "mean",
         min_periods: int = 0,
         center: bool = True,
@@ -39,7 +43,9 @@ class RollingMixin:
         """
         Calculate a rolling-window function on the data.
 
-        Note, that the data gets assigned the worst flag present in the original data.
+        Note, that the new data gets assigned the worst flag present in the window it was aggregated from.
+
+        Note, That you also can select multiple fields to get a rolling calculation over those.
 
         Parameters
         ----------
@@ -58,21 +64,116 @@ class RollingMixin:
 
         center :
             If True, center the rolling window.
+
+        Notes
+        -----
+        .. figure:: /resources/images/horizontalAxisRollingExample.png
+
+           Rolling over multiple variables.
         """
         # HINT: checking in  _roll
-        self._data, self._flags = _roll(
-            data=self._data,
-            field=field,
-            flags=self._flags,
-            window=window,
-            func=func,
-            min_periods=min_periods,
-            center=center,
-            **kwargs,
-        )
+        if target and (len(target) > 1) and (len(field) != len(target)):
+            raise ValueError(
+                f"""If multiple targets are given, per-field application of rolling is conducted and the number of 
+                fields has to equal the number of targets.\n Got: \n Fields={field} \n Targets={target}"""
+            )
+
+        if target and (len(field) > 1) and (len(target) == 1):
+            target = target[0]
+            if target not in self._data.columns:
+                self[target] = saqc.SaQC(
+                    pd.Series(
+                        np.nan, index=self.data[field].to_pandas().index, name=target
+                    )
+                )
+
+            self._data, self._flags = _hroll(
+                data=self._data,
+                field=field,
+                flags=self._flags,
+                target=target,
+                window=window,
+                func=func,
+                min_periods=min_periods,
+                center=center,
+            )
+
+        else:
+            if target:
+                for ft in zip(field, target):
+                    self = self.copyField(ft[0], target=ft[1], overwrite=True)
+                field = target
+            for f in field:
+                self._data, self._flags = _roll(
+                    data=self._data,
+                    field=f,
+                    flags=self._flags,
+                    window=window,
+                    func=func,
+                    min_periods=min_periods,
+                    center=center,
+                    **kwargs,
+                )
         return self
 
 
+def _hroll(
+    data: DictOfSeries,
+    field: str,
+    flags: Flags,
+    target: str,
+    window: str | int,
+    func: Callable[[pd.Series], np.ndarray] | str = "mean",
+    min_periods: int = 0,
+    center: bool = True,
+    **kwargs,
+):
+
+    if isinstance(window, str):
+        freq = getFreqDelta(data[field].to_pandas().index)
+        if freq is None:
+            raise ValueError(
+                f"Rolling over more than one column is only supported if either the data has a unitary"
+                f'sampling rate, or window is an integer. "{window}" was passed and combined {field} '
+                f"index is not unitarily sampled"
+            )
+        else:
+            window = int(np.floor(pd.Timedelta(window) / freq))
+
+    views = np.lib.stride_tricks.sliding_window_view(
+        data[field].to_pandas(), (window, len(field))
+    )
+    f_views = np.lib.stride_tricks.sliding_window_view(
+        pd.DataFrame({f: flags[f] for f in field}), (window, len(field))
+    )
+    frame = pd.DataFrame(
+        views.reshape(views.shape[0], views.shape[1] * views.shape[2] * views.shape[3])
+    )
+    if isinstance(func, str) and hasattr(pd.DataFrame, func):
+        result = getattr(frame, func)(axis=1)
+    else:
+        result = frame.apply(func, axis=1)
+
+    insuff_periods_mask = ~(~frame.isna()).sum(axis=1) >= min_periods
+    result[insuff_periods_mask] = np.nan
+    f_result = f_views.max(axis=(2, 3)).squeeze()
+
+    d_out = pd.Series(np.nan, index=data[field].to_pandas().index)
+    d_out[window - 1 :] = result
+    if center:
+        d_out = d_out.shift(-int(np.floor(window / 2)))
+
+    f_out = pd.Series(np.nan, index=data[field].to_pandas().index)
+    f_out[window - 1 :] = f_result
+    if center:
+        f_out = f_out.shift(-int(np.floor(window / 2)))
+
+    data[target] = d_out
+    flags[target] = f_out
+
+    return data, flags
+
+
 def _roll(
     data: DictOfSeries,
     field: str,
diff --git a/tests/funcs/test_proc_functions.py b/tests/funcs/test_proc_functions.py
index c47d974da..df960969b 100644
--- a/tests/funcs/test_proc_functions.py
+++ b/tests/funcs/test_proc_functions.py
@@ -20,6 +20,27 @@ from saqc.lib.ts_operators import linearInterpolation, polynomialInterpolation
 from tests.fixtures import char_dict, course_3, course_5  # noqa, todo: fix fixtures
 
 
+@pytest.mark.parametrize(
+    ("window", "center", "expected"),
+    [
+        (1, True, [3, 2, 3, 2]),
+        (2, False, [np.nan, 5, 5, 5]),
+        (3, True, [np.nan, 8, 7, np.nan]),
+        ("20min", True, [5, 5, 5, np.nan]),
+    ],
+)
+def test_multivariateRolling(window, center, expected):
+    data = pd.DataFrame(
+        {"a": [1, np.nan, 3, 4], "b": [1, 2, 3, 4], "c": [1, 2, 3, np.nan]},
+        index=pd.date_range("2000", periods=4, freq="10min"),
+    )
+    qc = saqc.SaQC(data)
+    qc = qc.rolling(
+        ["a", "b", "c"], func="count", target="count", window=window, center=center
+    )
+    assert np.array_equal(qc.data["count"].values, expected, equal_nan=True)
+
+
 def test_rollingInterpolateMissing(course_5):
     data, characteristics = course_5(periods=10, nan_slice=[5, 6])
     field = data.columns[0]
-- 
GitLab