pandas.api.typing.Expanding.apply — pandas 3.0.0rc0+33.g1fd184de2a documentation (original) (raw)
Expanding.apply(func, raw=False, engine=None, engine_kwargs=None, args=None, kwargs=None)[source]#
Calculate the expanding 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
False: passes each row or column as a Series to the function.True: the passed function will receive ndarray objects instead.
If you are just applying a NumPy reduction function this will achieve much better performance.
enginestr, default None
'cython': Runs rolling apply through C-extensions from cython.'numba': Runs rolling apply through JIT compiled code from numba. Only available whenrawis set toTrue.None: Defaults to'cython'or globally settingcompute.use_numba
engine_kwargsdict, default None
- For
'cython'engine, there are no acceptedengine_kwargs - For
'numba'engine, the engine can acceptnopython,nogilandparalleldictionary keys. The values must either beTrueorFalse. The defaultengine_kwargsfor the'numba'engine is{'nopython': True, 'nogil': False, 'parallel': False}and will be applied to both thefuncand theapplyrolling aggregation.
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.
See also
Series.expanding
Calling expanding with Series data.
DataFrame.expanding
Calling expanding with DataFrames.
Series.apply
Aggregating apply for Series.
DataFrame.apply
Aggregating apply for DataFrame.
Examples
ser = pd.Series([1, 2, 3, 4], index=["a", "b", "c", "d"]) ser.expanding().apply(lambda s: s.max() - 2 * s.min()) a -1.0 b 0.0 c 1.0 d 2.0 dtype: float64