Skip to content

temporian.EventSet.moving_product #

    window_length: WindowLength,
    sampling: Optional[EventSetOrNode] = None,
) -> EventSetOrNode

Computes the product of values in a sliding window over an EventSet.

This operation only supports floating-point features.

For each t in sampling, and for each feature independently, returns at time t the product of non-zero and non-NaN values for the feature in the window (t - window_length, t].

sampling can't be specified if a variable window_length is specified (i.e., if window_length is an EventSet).

If sampling is specified or window_length is an EventSet, the moving window is sampled at each timestamp in them, else it is sampled on the input's.

Zeros result in the accumulator's result being 0 for the window. NaN values are ignored in the calculation of the product. If the window does not contain any NaN, zero or any non-zero values (e.g., all values are missing), the output for that window is an empty array.

>>> a = tp.event_set(
...     timestamps=[0, 1, 2],
...     features={"value": [np.nan, 1, 5]},
... )

>>> b = a.moving_product(tp.duration.seconds(1))
>>> b
indexes: ...
    (3 events):
        timestamps: [0. 1. 2.]
        'value': [nan 1. 5.]

See EventSet.moving_count() for examples of moving window operations with external sampling and indices.


Name Type Description Default
window_length WindowLength

Sliding window's length.

sampling Optional[EventSetOrNode]

Timestamps to sample the sliding window's value at. If not provided, timestamps in the input are used.



Type Description

EventSet containing the moving product of each feature in the input,


considering non-zero and non-NaN values only.