Numerical Calculus
differentiate, sliding_window_integration, trapezoidal_integration
Differentiation
- indsl.ts_utils.numerical_calculus.differentiate(series: Series, time_unit: Timedelta = Timedelta('0 days 01:00:00')) Series
Differentiation.
Differentiation (finite difference) using a second-order accurate numerical method (central difference). Boundary points are computed using a first-order accurate method.
- Parameters:
series – Time series.
time_unit – Frequency. User defined granularity to potentially override unit of time. Defaults to 1 h. Accepts integer followed by time unit string (ms|s|m|h|d). For example: ‘1s’, ‘5m’, ‘3h’ or ‘1d’.
- Returns:
First order derivative.
- Return type:
pandas.Series
Trapezoidal integration
- indsl.ts_utils.numerical_calculus.trapezoidal_integration(series: Series, time_unit: Timedelta = Timedelta('0 days 01:00:00')) Series
Integration.
Cumulative integration using trapezoidal rule with an optional user-defined time unit.
- Parameters:
series – Time series.
time_unit – Frequency. User defined granularity to potentially override unit of time. Defaults to 1 h. Accepted formats can be found here: https://pandas.pydata.org/docs/reference/api/pandas.Timedelta.html. Some examples are: ‘1s’, ‘5m’, ‘3h’ or ‘1d’, but combinations also work: “1d 6h 43s”
- Returns:
Cumulative integral.
- Return type:
pandas.Series
Sliding window integration
- indsl.ts_utils.numerical_calculus.sliding_window_integration(series: Series, window_length: Timedelta = Timedelta('0 days 00:05:00'), integrand_rate: Timedelta = Timedelta('0 days 01:00:00')) Series
Sliding window integration.
Siding window integration using trapezoidal rule.
- Parameters:
series – Time series.
window_length –
window_length the length of time the window. Defaults to ‘5 minute’. Valid time units are:
‘W’, ‘D’, ‘T’, ‘S’, ‘L’, ‘U’, or ‘N’
‘days’ or ‘day’
‘hours’, ‘hour’, ‘hr’, or ‘h’
‘minutes’, ‘minute’, ‘min’, or ‘m’
‘seconds’, ‘second’, or ‘sec’
‘milliseconds’, ‘millisecond’, ‘millis’, or ‘milli’
‘microseconds’, ‘microsecond’, ‘micros’, or ‘micro’
‘nanoseconds’, ‘nanosecond’, ‘nanos’, ‘nano’, or ‘ns’.
integrand_rate –
integrand_rate. if the integrands rate is per sec, per hour, per day. Defaults to ‘1 hour’. Valid time units are:
‘W’, ‘D’, ‘T’, ‘S’, ‘L’, ‘U’, or ‘N’
‘days’ or ‘day’
‘hours’, ‘hour’, ‘hr’, or ‘h’
‘minutes’, ‘minute’, ‘min’, or ‘m’
‘seconds’, ‘second’, or ‘sec’
‘milliseconds’, ‘millisecond’, ‘millis’, or ‘milli’
‘microseconds’, ‘microsecond’, ‘micros’, or ‘micro’
‘nanoseconds’, ‘nanosecond’, ‘nanos’, ‘nano’, or ‘ns’.
- Returns:
Time series
- Return type:
pandas.Series