# turicreate.SArray.rolling_min¶

SArray.rolling_min(window_start, window_end, min_observations=None)

Calculate a new SArray of the minimum value of different subsets over this SArray.

The subset that the minimum is calculated over is defined as an inclusive range relative to the position to each value in the SArray, using window_start and window_end. For a better understanding of this, see the examples below.

Parameters: window_start : int The start of the subset to calculate the minimum relative to the current value. window_end : int The end of the subset to calculate the minimum relative to the current value. Must be greater than window_start. min_observations : int Minimum number of non-missing observations in window required to calculate the minimum (otherwise result is None). None signifies that the entire window must not include a missing value. A negative number throws an error. out : SArray

Examples

>>> import pandas
>>> sa = SArray([1,2,3,4,5])
>>> series = pandas.Series([1,2,3,4,5])


A rolling min with a window including the previous 2 entries including the current: >>> sa.rolling_min(-2,0) dtype: int Rows: 5 [None, None, 1, 2, 3]

Pandas equivalent: >>> pandas.rolling_min(series, 3) 0 NaN 1 NaN 2 1 3 2 4 3 dtype: float64

Same rolling min operation, but 2 minimum observations: >>> sa.rolling_min(-2,0,min_observations=2) dtype: int Rows: 5 [None, 1, 1, 2, 3]

Pandas equivalent: >>> pandas.rolling_min(series, 3, min_periods=2) 0 NaN 1 1 2 1 3 2 4 3 dtype: float64

A rolling min with a size of 3, centered around the current: >>> sa.rolling_min(-1,1) dtype: int Rows: 5 [None, 1, 2, 3, None]

Pandas equivalent: >>> pandas.rolling_min(series, 3, center=True) 0 NaN 1 1 2 2 3 3 4 NaN dtype: float64

A rolling min with a window including the current and the 2 entries following: >>> sa.rolling_min(0,2) dtype: int Rows: 5 [1, 2, 3, None, None]

A rolling min with a window including the previous 2 entries NOT including the current: >>> sa.rolling_min(-2,-1) dtype: int Rows: 5 [None, None, 1, 2, 3]