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' 引擎,引擎可以接受 nopythonnogilparallel 字典键。值必须是 TrueFalse'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