diff --git a/saqc/funcs/generic.py b/saqc/funcs/generic.py index 8dd387788f51a993eb051e7f3596366f9abce34b..19738b6715cea56f4b13ab5bea4961e891cc2d76 100644 --- a/saqc/funcs/generic.py +++ b/saqc/funcs/generic.py @@ -255,7 +255,11 @@ def flag( if not np.issubdtype(mask.dtype, np.bool_): raise TypeError(f"generic expression does not return a boolean array") - m = ~_isflagged(flags[field], to_mask) & mask - flags[m, field] = flag + if field not in flags: + flags[field] = pd.Series(data=UNFLAGGED, index=mask.index, name=field) + + mask = ~_isflagged(flags[field], to_mask) & mask + + flags[mask, field] = flag return data, flags