diff --git a/saqc/core/core.py b/saqc/core/core.py index 605ed7c29140c7999f06864ed221d081a012da9e..0a82f976402ce7a36a66e3d19ca492a8c1a12467 100644 --- a/saqc/core/core.py +++ b/saqc/core/core.py @@ -102,8 +102,8 @@ def runner(config_file, flagger, data, flags=None, nodata=np.nan, error_policy=" start_date = configrow[Fields.START] end_date = configrow[Fields.END] - flag_test = testcol[idx] - if pd.isnull(flag_test): + func = testcol[idx] + if pd.isnull(func): continue if varname not in data and varname not in flagger.getFlags(): @@ -118,14 +118,14 @@ def runner(config_file, flagger, data, flags=None, nodata=np.nan, error_policy=" try: # actually run the tests dchunk_result, flagger_chunk_result = evalExpression( - flag_test, + func, data=dchunk, field=varname, flagger=flagger_chunk, nodata=nodata, ) except Exception as e: - if _handleErrors(e, configrow, flag_test, error_policy): + if _handleErrors(e, configrow, func, error_policy): raise e continue @@ -137,7 +137,7 @@ def runner(config_file, flagger, data, flags=None, nodata=np.nan, error_policy=" flagger_chunk_result, varname, configrow[Fields.PLOT], - flag_test, + func, ) plotAllHook(data, flagger) diff --git a/saqc/funcs/harm_functions.py b/saqc/funcs/harm_functions.py index d5bb8f577946ca246b114420b4ff71a62f2059c6..ea3f09691f4b640f65cc9b29c8302981b111cc3e 100644 --- a/saqc/funcs/harm_functions.py +++ b/saqc/funcs/harm_functions.py @@ -736,8 +736,9 @@ def _toMerged( data.drop(fieldname, axis="columns", errors="ignore", inplace=True) flags.drop(fieldname, axis="columns", errors="ignore", inplace=True) - # first case: there is no data, the data-to-insert would have to be merged with, and also are we not deharmonizing: - if (flags.empty) & (target_index is None): + # first case: there is no data, the data-to-insert would have + # to be merged with, and also are we not deharmonizing: + if (data.empty) & (target_index is None): return data_to_insert.to_frame(name=fieldname), flagger_to_insert # if thats not the case: generate the drop mask for the remaining data: diff --git a/saqc/lib/plotting.py b/saqc/lib/plotting.py index 68f59d3a0615e07e63867661add89c0c55bb681a..cded3715579d6975230327d931de92d49fcd7193 100644 --- a/saqc/lib/plotting.py +++ b/saqc/lib/plotting.py @@ -20,16 +20,16 @@ def plotAllHook(data, flagger): _plot(data, flagger, True, __plotvars) -def plotHook(data, old, new, varname, do_plot, flag_test, plot_nans=False): - # old/new: flagger +def plotHook(data, flagger_old, flagger_new, varname, do_plot, flag_test, plot_nans=False): + # flagger_old/flagger_new: flagger if do_plot: __plotvars.append(varname) # cannot use getFlags here, because if a flag was set (e.g. with force) the # flag may be the same, but any additional row (e.g. comment-field) would differ - mask = (old._flags[varname] != new._flags[varname]) + mask = (flagger_old._flags[varname] != flagger_new._flags[varname]) if isinstance(mask, pd.DataFrame): mask = mask.any(axis=1) - _plot(data, new, mask, varname, title=flag_test, plot_nans=plot_nans) + _plot(data, flagger_new, mask, varname, title=flag_test, plot_nans=plot_nans) def _plot(