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 ...@@ -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', 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): 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, inter_data = interpolateNANs(data[field], method, order=inter_order, inter_limit=inter_limit,
downgrade_interpolation=downgrade_interpolation, return_chunk_bounds=return_chunk_bounds) downgrade_interpolation=downgrade_interpolation, return_chunk_bounds=return_chunk_bounds)
interpolated = data[field].isna() & inter_data.notna() interpolated = data[field].isna() & inter_data.notna()
......
...@@ -168,7 +168,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio ...@@ -168,7 +168,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio
:return: :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 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: if inter_limit == 2:
...@@ -190,7 +190,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio ...@@ -190,7 +190,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio
if method in ["linear", "time"]: 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: else:
dat_name = data.name dat_name = data.name
...@@ -221,7 +221,7 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio ...@@ -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 # squeezing the 1-dimensional frame resulting from groupby for consistency reasons
data = data.squeeze(axis=1) data = data.squeeze(axis=1)
data.name = dat_name data.name = dat_name
data = data.reindex(pre_index) data = data.reindex(pre_index)
if return_chunk_bounds: if return_chunk_bounds:
return data, chunk_bounds return data, chunk_bounds
else: 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