From 1b157b22c756c7acedbe1574d773f79b8ccf90a3 Mon Sep 17 00:00:00 2001 From: Peter Luenenschloss <peter.luenenschloss@ufz.de> Date: Mon, 22 Mar 2021 17:00:47 +0100 Subject: [PATCH] shift running --- saqc/funcs/resampling.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/saqc/funcs/resampling.py b/saqc/funcs/resampling.py index f35d4b17c..482fdb02b 100644 --- a/saqc/funcs/resampling.py +++ b/saqc/funcs/resampling.py @@ -635,9 +635,9 @@ def _inverseAggregation(source_col, freq=None, method=None, target_flagscol=None -def _inverseShift(target_flagscol, source_col=None, freq=None, method=None, drop_mask=None): +def _inverseShift(source_col, freq=None, method=None, drop_mask=None, target_flagscol=None): target_flagscol_drops = target_flagscol[drop_mask] - target_flagscol.drop(drop_mask[drop_mask].index, inplace=True) + target_flagscol = target_flagscol.drop(drop_mask[drop_mask].index) flags_merged = pd.merge_asof( source_col, pd.Series(target_flagscol.index.values, index=target_flagscol.index, name="pre_index"), @@ -647,17 +647,13 @@ def _inverseShift(target_flagscol, source_col=None, freq=None, method=None, drop direction=method, ) flags_merged.dropna(subset=["pre_index"], inplace=True) - flags_merged = flags_merged.set_index(["pre_index"]).squeeze() - - # write flags to target - replacement_mask = flags_merged > target_flagscol.loc[flags_merged.index] - target_flagscol.loc[replacement_mask[replacement_mask].index] = flags_merged.loc[replacement_mask] + target_flagscol = flags_merged.set_index(["pre_index"]).squeeze() # reinsert drops - target_flagscol = target_flagscol.reindex(target_flagscol.index.join(target_flagscol_drops.index, how="outer")) - target_flagscol.loc[target_flagscol_drops.index] = target_flagscol_drops.values + source_col = target_flagscol.reindex(target_flagscol.index.join(target_flagscol_drops.index, how="outer")) + source_col.loc[target_flagscol_drops.index] = target_flagscol_drops.values - return target_flagscol + return source_col @register(masking='none', module="resampling") -- GitLab