Skip to content
Snippets Groups Projects
Commit 589af3b0 authored by Peter Lünenschloß's avatar Peter Lünenschloß
Browse files

minor inconsistency solved

parent 53fc5d07
No related branches found
No related tags found
4 merge requests!193Release 1.4,!188Release 1.4,!49Dataprocessing features,!44Dataprocessing features
......@@ -12,6 +12,7 @@ from saqc.lib.tools import composeFunction, toSequence
def proc_interpolateMissing(data, field, flagger, method, inter_order=2, inter_limit=2, interpol_flag='UNFLAGGED',
downgrade_interpolation=False, return_chunk_bounds=False, not_interpol_flags=None, **kwargs):
data = data.copy()
inter_data = interpolateNANs(data[field], method, order=inter_order, inter_limit=inter_limit,
downgrade_interpolation=downgrade_interpolation, return_chunk_bounds=return_chunk_bounds)
interpolated = data[field].isna() & inter_data.notna()
......
......@@ -168,7 +168,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio
:return:
"""
data = pd.Series(data)
data = pd.Series(data).copy()
gap_mask = (data.rolling(inter_limit, min_periods=0).apply(lambda x: np.sum(np.isnan(x)), raw=True)) != inter_limit
if inter_limit == 2:
......@@ -190,7 +190,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio
if method in ["linear", "time"]:
data.interpolate(method=method, inplace=True, limit=1, limit_area="inside")
data.interpolate(method=method, inplace=True, limit=inter_limit-1, limit_area="inside")
else:
dat_name = data.name
......@@ -221,7 +221,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio
# squeezing the 1-dimensional frame resulting from groupby for consistency reasons
data = data.squeeze(axis=1)
data.name = dat_name
data = data.reindex(pre_index)
data = data.reindex(pre_index)
if return_chunk_bounds:
return data, chunk_bounds
else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment