Skip to content
Snippets Groups Projects
Commit 86fa51ae authored by David Schäfer's avatar David Schäfer
Browse files

Merge branch 'interpolation_defaults' into 'develop'

Change the default limit value of the interpolation routines

See merge request !598
parents 5e10c7ff d710cb91
No related branches found
No related tags found
3 merge requests!685Release 2.4,!684Release 2.4,!598Change the default limit value of the interpolation routines
Pipeline #143503 passed with stages
in 6 minutes and 25 seconds
...@@ -15,6 +15,7 @@ SPDX-License-Identifier: GPL-3.0-or-later ...@@ -15,6 +15,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
- Remove all flag value restrictions from the default flagging scheme `FloatTranslator` - Remove all flag value restrictions from the default flagging scheme `FloatTranslator`
- Renamed `TranslationScheme.forward` to `TranslationScheme.toInternal` - Renamed `TranslationScheme.forward` to `TranslationScheme.toInternal`
- Renamed `TranslationScheme.backward` to `TranslationScheme.toExternal` - Renamed `TranslationScheme.backward` to `TranslationScheme.toExternal`
- Changed Default value of the parameter `limit` for `SaQC.interpolateIndex` and `SaQC.interpolateInvalid` to ``None`
### Removed ### Removed
### Fixed ### Fixed
......
...@@ -143,7 +143,7 @@ class InterpolationMixin: ...@@ -143,7 +143,7 @@ class InterpolationMixin:
field: str, field: str,
method: _SUPPORTED_METHODS, method: _SUPPORTED_METHODS,
order: int = 2, order: int = 2,
limit: int = 2, limit: int | None = None,
downgrade: bool = False, downgrade: bool = False,
flag: float = UNFLAGGED, flag: float = UNFLAGGED,
**kwargs, **kwargs,
...@@ -167,9 +167,8 @@ class InterpolationMixin: ...@@ -167,9 +167,8 @@ class InterpolationMixin:
If there your selected interpolation method can be performed at different 'orders' - here you pass the desired If there your selected interpolation method can be performed at different 'orders' - here you pass the desired
order. order.
limit : int, default 2 limit : int, optional
Maximum number of consecutive 'nan' values allowed for a gap to be interpolated. This really restricts the Maximum number of consecutive `nan` values to fill. Must be greater than 0.
interpolation to chunks, containing not more than `limit` successive nan entries.
flag : float or None, default UNFLAGGED flag : float or None, default UNFLAGGED
Flag that is set for interpolated values. If ``None``, no flags are set at all. Flag that is set for interpolated values. If ``None``, no flags are set at all.
...@@ -210,7 +209,7 @@ class InterpolationMixin: ...@@ -210,7 +209,7 @@ class InterpolationMixin:
freq: str, freq: str,
method: _SUPPORTED_METHODS, method: _SUPPORTED_METHODS,
order: int = 2, order: int = 2,
limit: int = 2, limit: int | None = None,
downgrade: bool = False, downgrade: bool = False,
**kwargs, **kwargs,
) -> "SaQC": ) -> "SaQC":
...@@ -237,9 +236,8 @@ class InterpolationMixin: ...@@ -237,9 +236,8 @@ class InterpolationMixin:
If there your selected interpolation method can be performed at different 'orders' - here you pass the desired If there your selected interpolation method can be performed at different 'orders' - here you pass the desired
order. order.
limit : int, default 2 limit : int, optional
Maximum number of consecutive 'nan' values allowed for a gap to be interpolated. This really restricts the Maximum number of missing index values (with respect to `freq`) to fill. Must be greater than 0.
interpolation to chunks, containing not more than `limit` successive nan entries.
downgrade : bool, default False downgrade : bool, default False
If `True` and the interpolation can not be performed at current order, retry with a lower order. If `True` and the interpolation can not be performed at current order, retry with a lower order.
......
...@@ -301,7 +301,7 @@ def interpolateNANs( ...@@ -301,7 +301,7 @@ def interpolateNANs(
:return: :return:
""" """
inter_limit = int(inter_limit) inter_limit = int(inter_limit or len(data) + 1)
data = pd.Series(data, copy=True) data = pd.Series(data, copy=True)
gap_mask = data.isna().rolling(inter_limit, min_periods=0).sum() != inter_limit gap_mask = data.isna().rolling(inter_limit, min_periods=0).sum() != inter_limit
......
...@@ -124,7 +124,7 @@ def test_gridInterpolation(data, method, fill_history): ...@@ -124,7 +124,7 @@ def test_gridInterpolation(data, method, fill_history):
res = qc.interpolate( res = qc.interpolate(
field, field,
freq, freq,
order=10, order=9,
method=method, method=method,
downcast_interpolation=True, downcast_interpolation=True,
) )
......
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