Skip to content

utils

py3dinterpolations.modelling.utils

Utility functions for modelling module.

normalize(series)

Normalize series to [0, 1] range.

Parameters:

Name Type Description Default
series Series

Series to normalize.

required

Returns:

Type Description
tuple[Series, NormalizationParams]

Tuple of (normalized series, normalization params).

Source code in py3dinterpolations/modelling/utils.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def normalize(series: pd.Series) -> tuple[pd.Series, NormalizationParams]:
    """Normalize series to [0, 1] range.

    Args:
        series: Series to normalize.

    Returns:
        Tuple of (normalized series, normalization params).
    """
    series = series.copy()
    params = NormalizationParams(min=float(series.min()), max=float(series.max()))
    value_range = params.max - params.min
    if value_range == 0.0:
        series[:] = 0.0
        return series, params
    series = (series - params.min) / value_range
    return series, params

standardize(series)

Standardize series to mean=0, std=1.

Parameters:

Name Type Description Default
series Series

Series to standardize.

required

Returns:

Type Description
tuple[Series, StandardizationParams]

Tuple of (standardized series, standardization params).

Source code in py3dinterpolations/modelling/utils.py
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def standardize(series: pd.Series) -> tuple[pd.Series, StandardizationParams]:
    """Standardize series to mean=0, std=1.

    Args:
        series: Series to standardize.

    Returns:
        Tuple of (standardized series, standardization params).
    """
    series = series.copy()
    params = StandardizationParams(mean=float(series.mean()), std=float(series.std()))
    if params.std == 0.0 or pd.isna(params.std):
        series[:] = 0.0
        return series, params
    series = (series - params.mean) / params.std
    return series, params