pandas.core.window.rolling.Rolling.sum#
- Rolling.sum(numeric_only=False, engine=None, engine_kwargs=None)[源代码]#
计算滚动总和。
- Parameters:
- numeric_onlybool,默认 False
仅包括浮点数、整数、布尔列。
在 1.5.0 版本加入.
- enginestr,默认 None
'cython': 通过 cython 的 C 扩展运行操作。'numba': 通过 numba 的 JIT 编译代码运行操作。None: 默认为'cython'或全局设置的compute.use_numba在 1.3.0 版本加入.
- engine_kwargsdict, 默认为 None
对于
'cython'引擎,没有可接受的engine_kwargs对于
'numba'引擎,该引擎可以接受nopython、nogil和parallel字典键。值必须为True或False。'numba'引擎的默认engine_kwargs为{'nopython': True, 'nogil': False, 'parallel': False}。在 1.3.0 版本加入.
- Returns:
- Series 或 DataFrame
返回类型与原始对象相同,并具有
np.float64数据类型。
参见
pandas.Series.rolling使用 Series 数据调用滚动。
pandas.DataFrame.rolling使用 DataFrame 调用滚动。
pandas.Series.sum聚合 Series 的总和。
pandas.DataFrame.sum聚合 DataFrame 的总和。
Notes
有关 Numba 引擎的扩展文档和性能考虑,请参阅 Numba 引擎 和 Numba (JIT 编译) 。
Examples
>>> 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