From d8c9d68a47857215511afa26d5e937d1212a82d3 Mon Sep 17 00:00:00 2001 From: Peter Luenenschloss <peter.luenenschloss@ufz.de> Date: Fri, 13 Dec 2019 10:15:39 +0100 Subject: [PATCH] refactoring/renaming in harm_funcs --- saqc/funcs/harm_functions.py | 15 ++++++++------- test/funcs/test_harm_funcs.py | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/saqc/funcs/harm_functions.py b/saqc/funcs/harm_functions.py index 311369fa1..9e42db1b5 100644 --- a/saqc/funcs/harm_functions.py +++ b/saqc/funcs/harm_functions.py @@ -844,8 +844,9 @@ def interpolate2Grid(data, field, flagger, freq, interpolation_method, interpola **kwargs) -def aggregate(data, field, flagger, source_freq, target_freq, agg_func=np.mean, sample_func=np.mean, - invalid_flags=None, max_invalid=np.inf, **kwargs): +@register('downsample') +def downsample(data, field, flagger, sample_freq, agg_freq, sample_func=np.mean, agg_func=np.mean, + invalid_flags=None, max_invalid=np.inf, **kwargs): # define the "fastest possible" aggregator if sample_func is None: @@ -868,7 +869,7 @@ def aggregate(data, field, flagger, source_freq, target_freq, agg_func=np.mean, sample_func_name = sample_func.__name__ if max_invalid < np.inf: def aggregator(x): - y = getattr(x.resample(source_freq), sample_func_name)() + y = getattr(x.resample(sample_freq), sample_func_name)() if y.isna().sum() < max_invalid: return agg_func(y) else: @@ -876,25 +877,25 @@ def aggregate(data, field, flagger, source_freq, target_freq, agg_func=np.mean, else: def aggregator(x): - return agg_func(getattr(x.resample(source_freq), sample_func_name)()) + return agg_func(getattr(x.resample(sample_freq), sample_func_name)()) else: if max_invalid < np.inf: def aggregator(x): - y = x.resample(source_freq).apply(sample_func) + y = x.resample(sample_freq).apply(sample_func) if y.isna().sum() < max_invalid: return agg_func(y) else: return np.nan else: def aggregator(x): - return agg_func(x.resample(source_freq).apply(sample_func)) + return agg_func(x.resample(sample_freq).apply(sample_func)) return harmonize( data, field, flagger, - target_freq, + agg_freq, inter_method='bagg', reshape_method='bagg', inter_agg=aggregator, diff --git a/test/funcs/test_harm_funcs.py b/test/funcs/test_harm_funcs.py index 825f44265..1170981b1 100644 --- a/test/funcs/test_harm_funcs.py +++ b/test/funcs/test_harm_funcs.py @@ -19,7 +19,7 @@ from saqc.funcs.harm_functions import ( interpolate2Grid, shift2Grid, aggregate2Grid, - aggregate + downsample ) @@ -335,7 +335,7 @@ def test_wrapper(data, flagger): field = data.columns[0] freq = '15min' flagger = flagger.initFlags(data) - aggregate(data, field, flagger, '15min', '30min', agg_func=np.sum, sample_func=np.mean) + downsample(data, field, flagger, '15min', '30min', agg_func=np.sum, sample_func=np.mean) linear2Grid(data, field, flagger, freq, flag_assignment_method='nearest_agg', flag_agg_func=max, drop_flags=None) -- GitLab