dask.dataframe.rolling.Rolling.apply
dask.dataframe.rolling.Rolling.apply¶
- Rolling.apply(func, raw=False, engine='cython', engine_kwargs=None, args=None, kwargs=None)[源代码]¶
计算滚动自定义聚合函数。
此文档字符串是从 pandas.core.window.rolling.Rolling.apply 复制的。
Dask 版本可能存在一些不一致性。
- 参数
- 函数函数
如果
raw=True
,则必须从 ndarray 输入生成一个单一值;如果raw=False
,则必须从 Series 生成一个单一值。还可以接受指定engine='numba'
的 Numba JIT 函数。- 原始bool, 默认 False
False
: 将每一行或每一列作为一个 Series 传递给函数。True
: 传递的函数将接收 ndarray 对象。如果你只是应用一个 NumPy 归约函数,这将获得更好的性能。
- 引擎str, 默认 None
'cython'
: 通过来自 cython 的 C 扩展运行滚动应用。'numba'
: 通过来自 numba 的 JIT 编译代码运行滚动应用。仅在raw
设置为True
时可用。None
: 默认为'cython'
或全局设置compute.use_numba
- engine_kwargsdict, 默认 None
对于
'cython'
引擎,没有接受的engine_kwargs
对于
'numba'
引擎,该引擎可以接受nopython
、nogil
和parallel
字典键。这些键的值必须是True
或False
。'numba'
引擎的默认engine_kwargs
是{'nopython': True, 'nogil': False, 'parallel': False}
,并将应用于func
和apply
滚动聚合。
- 参数tuple, 默认 None
传递给 func 的位置参数。
- kwargsdict, 默认 None
要传递给 func 的关键字参数。
- 返回
- Series 或 DataFrame
返回类型与原始对象相同,具有
np.float64
数据类型。
参见
pandas.Series.rolling
调用带有 Series 数据的 rolling。
pandas.DataFrame.rolling
使用 DataFrames 调用 rolling。
pandas.Series.apply
聚合应用到 Series。
pandas.DataFrame.apply
聚合应用到 DataFrame。
示例
>>> 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