pandas.core.window.rolling.Rolling.sum#
- Rolling.sum(numeric_only=False, engine=None, engine_kwargs=None)[源代码][源代码]#
计算滚动总和。
- 参数:
- numeric_only布尔值, 默认为 False
只包含浮点数、整数、布尔列。
Added in version 1.5.0.
- 引擎str, 默认 None
'cython'
: 通过来自cython的C扩展运行操作。'numba'
: 通过来自 numba 的 JIT 编译代码运行操作。None
: 默认为'cython'
或全局设置compute.use_numba
Added in version 1.3.0.
- engine_kwargs字典, 默认为 None
对于
'cython'
引擎,没有接受的engine_kwargs
对于
'numba'
引擎,引擎可以接受nopython
、nogil
和parallel
字典键。值必须是True
或False
。'numba'
引擎的默认engine_kwargs
是{'nopython': True, 'nogil': False, 'parallel': False}
Added in version 1.3.0.
- 返回:
- Series 或 DataFrame
返回类型与原始对象相同,具有
np.float64
数据类型。
参见
Series.rolling
使用 Series 数据调用 rolling。
DataFrame.rolling
使用 DataFrames 调用 rolling。
Series.sum
聚合 Series 的总和。
DataFrame.sum
聚合 DataFrame 的总和。
注释
请参阅 Numba 引擎 和 Numba (JIT 编译) 以获取关于 Numba 引擎的扩展文档和性能考虑。
例子
>>> s = pd.Series([1, 2, 3, 4, 5]) >>> s 0 1 1 2 2 3 3 4 4 5 dtype: int64
>>> s.rolling(3).sum() 0 NaN 1 NaN 2 6.0 3 9.0 4 12.0 dtype: float64
>>> s.rolling(3, center=True).sum() 0 NaN 1 6.0 2 9.0 3 12.0 4 NaN dtype: float64
对于 DataFrame,每个总和是按列计算的。
>>> df = pd.DataFrame({"A": s, "B": s ** 2}) >>> df A B 0 1 1 1 2 4 2 3 9 3 4 16 4 5 25
>>> df.rolling(3).sum() A B 0 NaN NaN 1 NaN NaN 2 6.0 14.0 3 9.0 29.0 4 12.0 50.0