From 6356e3dd5d21f7ee6722be19b4139b6c3833f55c Mon Sep 17 00:00:00 2001 From: David Schaefer <david.schaefer@ufz.de> Date: Tue, 10 Jan 2023 07:56:28 +0100 Subject: [PATCH] change the default limit value of the interpolation routines --- CHANGELOG.md | 1 + saqc/funcs/interpolation.py | 14 ++++++-------- saqc/lib/ts_operators.py | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5991caea1..d37d927ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ SPDX-License-Identifier: GPL-3.0-or-later - Remove all flag value restrictions from the default flagging scheme `FloatTranslator` - Renamed `TranslationScheme.forward` to `TranslationScheme.toInternal` - Renamed `TranslationScheme.backward` to `TranslationScheme.toExternal` +- Changed Default value of the parameter `limit` for `SaQC.interpolateIndex` and `SaQC.interpolateInvalid` to ``None` ### Removed ### Fixed diff --git a/saqc/funcs/interpolation.py b/saqc/funcs/interpolation.py index e25401429..e0907e261 100644 --- a/saqc/funcs/interpolation.py +++ b/saqc/funcs/interpolation.py @@ -143,7 +143,7 @@ class InterpolationMixin: field: str, method: _SUPPORTED_METHODS, order: int = 2, - limit: int = 2, + limit: int | None = None, downgrade: bool = False, flag: float = UNFLAGGED, **kwargs, @@ -167,9 +167,8 @@ class InterpolationMixin: If there your selected interpolation method can be performed at different 'orders' - here you pass the desired order. - limit : int, default 2 - Maximum number of consecutive 'nan' values allowed for a gap to be interpolated. This really restricts the - interpolation to chunks, containing not more than `limit` successive nan entries. + limit : int, optional + Maximum number of consecutive `nan` values to fill. Must be greater than 0. flag : float or None, default UNFLAGGED Flag that is set for interpolated values. If ``None``, no flags are set at all. @@ -210,7 +209,7 @@ class InterpolationMixin: freq: str, method: _SUPPORTED_METHODS, order: int = 2, - limit: int = 2, + limit: int | None = None, downgrade: bool = False, **kwargs, ) -> "SaQC": @@ -237,9 +236,8 @@ class InterpolationMixin: If there your selected interpolation method can be performed at different 'orders' - here you pass the desired order. - limit : int, default 2 - Maximum number of consecutive 'nan' values allowed for a gap to be interpolated. This really restricts the - interpolation to chunks, containing not more than `limit` successive nan entries. + limit : int, optional + Maximum number of missing index values (with respect to `freq`) to fill. Must be greater than 0. downgrade : bool, default False If `True` and the interpolation can not be performed at current order, retry with a lower order. diff --git a/saqc/lib/ts_operators.py b/saqc/lib/ts_operators.py index 094875fcc..e63eb8b74 100644 --- a/saqc/lib/ts_operators.py +++ b/saqc/lib/ts_operators.py @@ -301,7 +301,7 @@ def interpolateNANs( :return: """ - inter_limit = int(inter_limit) + inter_limit = int(inter_limit or len(data) + 1) data = pd.Series(data, copy=True) gap_mask = data.isna().rolling(inter_limit, min_periods=0).sum() != inter_limit -- GitLab