From b67d86fb80bcb899c6f4cdff9a2764ec4fc9f79b Mon Sep 17 00:00:00 2001
From: Bert Palm <bert.palm@ufz.de>
Date: Wed, 18 Aug 2021 16:56:39 +0200
Subject: [PATCH] [FIX] crossstats faild for empty mask

---
 saqc/core/flags.py     | 5 ++++-
 saqc/funcs/outliers.py | 3 +++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/saqc/core/flags.py b/saqc/core/flags.py
index 730ec1e98..1ffcbfc0a 100644
--- a/saqc/core/flags.py
+++ b/saqc/core/flags.py
@@ -309,7 +309,10 @@ class Flags:
             try:
                 tmp[mask] = value
             except Exception:
-                raise ValueError("bad mask")
+                raise ValueError(
+                    f"bad mask. cannot use mask of length {len(mask)} on "
+                    f"data of length {len(tmp)}"
+                )
             else:
                 value = tmp
 
diff --git a/saqc/funcs/outliers.py b/saqc/funcs/outliers.py
index cb3f71178..6f0094ef5 100644
--- a/saqc/funcs/outliers.py
+++ b/saqc/funcs/outliers.py
@@ -1226,6 +1226,9 @@ def flagCrossStatistic(
         diff_scores = df.subtract(stat, axis=0).abs()
 
     mask = diff_scores > thresh
+    if mask.empty:
+        return data, flags
+
     for var in fields:
         flags[mask[var], var] = flag
 
-- 
GitLab