Source code for postprocessor.core.processes.standardscaler

#!/usr/bin/env python

import pandas as pd
from sklearn.preprocessing import StandardScaler

from agora.abc import ParametersABC
from postprocessor.core.abc import PostProcessABC


[docs]class standardscalerParameters(ParametersABC): """ Parameters for the 'scale' process. """ _defaults = {}
[docs]class standardscaler(PostProcessABC): """ Process to scale a DataFrame of a signal using the standard scaler. Methods ------- run(signal: pd.DataFrame) Scale values in a dataframe of time series. """
[docs] def __init__(self, parameters: standardscalerParameters): super().__init__(parameters)
[docs] def run(self, signal: pd.DataFrame): """Scale values in a dataframe of time series. Scale values in a dataframe of time series. This function is effectively a wrapper for sklearn.preprocessing.StandardScaler. Parameters ---------- signal : pd.DataFrame Time series, with rows indicating individual time series (e.g. from each cell), and columns indicating time points. """ signal_array = signal.to_numpy() scaler = StandardScaler().fit(signal_array.transpose()) signal_scaled_array = scaler.transform(signal_array.transpose()) signal_scaled_array = signal_scaled_array.transpose() signal_scaled = pd.DataFrame( signal_scaled_array, columns=signal.columns, index=signal.index ) return signal_scaled