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

constants: type hints

parent 175f0cac
No related branches found
No related tags found
No related merge requests found
#! /usr/bin/env python #! /usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from typing import Tuple
import numpy as np import numpy as np
import pandas as pd import pandas as pd
from dios import DictOfSeries
from saqc.core.register import register from saqc.core.register import register
from saqc.flagger.baseflagger import BaseFlagger
from saqc.lib.ts_operators import varQC from saqc.lib.ts_operators import varQC
from saqc.lib.tools import retrieveTrustworthyOriginal, customRoller from saqc.lib.tools import retrieveTrustworthyOriginal, customRoller
@register(masking='field') @register(masking='field')
def flagConstants(data, field, flagger, thresh, window, **kwargs): def flagConstants(data: DictOfSeries, field: str, flagger: BaseFlagger, thresh: float, window: str, **kwargs) -> Tuple[DictOfSeries, BaseFlagger]:
""" """
This functions flags plateaus/series of constant values of length `window` if This functions flags plateaus/series of constant values of length `window` if
their maximum total change is smaller than thresh. their maximum total change is smaller than thresh.
...@@ -66,8 +71,10 @@ def flagConstants(data, field, flagger, thresh, window, **kwargs): ...@@ -66,8 +71,10 @@ def flagConstants(data, field, flagger, thresh, window, **kwargs):
@register(masking='field') @register(masking='field')
def flagByVariance( def flagByVariance(
data, field, flagger, window="12h", thresh=0.0005, max_missing=None, max_consec_missing=None, **kwargs data: DictOfSeries, field: str, flagger: BaseFlagger,
): window: str="12h", thresh: float=0.0005,
max_missing: int=None, max_consec_missing: int=None, **kwargs
) -> Tuple[DictOfSeries, BaseFlagger]:
""" """
Function flags plateaus/series of constant values. Any interval of values y(t),..y(t+n) is flagged, if: Function flags plateaus/series of constant values. Any interval of values y(t),..y(t+n) is flagged, if:
...@@ -111,7 +118,6 @@ def flagByVariance( ...@@ -111,7 +118,6 @@ def flagByVariance(
max_missing = np.inf max_missing = np.inf
if max_consec_missing is None: if max_consec_missing is None:
max_consec_missing = np.inf max_consec_missing = np.inf
min_periods = int(np.ceil(pd.Timedelta(window) / pd.Timedelta(data_rate))) min_periods = int(np.ceil(pd.Timedelta(window) / pd.Timedelta(data_rate)))
plateaus = dataseries.rolling(window=window, min_periods=min_periods).apply( plateaus = dataseries.rolling(window=window, min_periods=min_periods).apply(
......
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