pandas.core.window.rolling.Rolling.apply — pandas 2.2.3 documentation (original) (raw)

Rolling.apply(func, raw=False, engine=None, engine_kwargs=None, args=None, kwargs=None)[source]#

Calculate the rolling custom aggregation function.

Parameters:

funcfunction

Must produce a single value from an ndarray input if raw=Trueor a single value from a Series if raw=False. Can also accept a Numba JIT function with engine='numba' specified.

rawbool, default False

enginestr, default None

engine_kwargsdict, default None

argstuple, default None

Positional arguments to be passed into func.

kwargsdict, default None

Keyword arguments to be passed into func.

Returns:

Series or DataFrame

Return type is the same as the original object with np.float64 dtype.

Examples

ser = pd.Series([1, 6, 5, 4]) ser.rolling(2).apply(lambda s: s.sum() - s.min()) 0 NaN 1 6.0 2 6.0 3 5.0 dtype: float64