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