pandas.core.window.rolling.Rolling.sum#

Rolling.sum(*args, engine=None, engine_kwargs=None, **kwargs)[源代码]#

计算累计和。

参数
*args

对于NumPy兼容性,不会对结果产生影响。

engine字符串,默认为无
  • 'cython' :从cython通过C扩展运行操作。

  • 'numba' :通过来自Numba的JIT编译代码运行操作。

  • None : Defaults to 'cython' or globally setting compute.use_numba

    1.3.0 新版功能.

engine_kwargsDict,默认无
  • 'cython' 发动机,有没有接受 engine_kwargs

  • 'numba' 发动机,发动机可以接受 nopythonnogilparallel 词典的关键字。这些值必须是 TrueFalse 。默认设置 engine_kwargs 对于 'numba' 引擎是 {{'nopython': True, 'nogil': False, 'parallel': False}}

    1.3.0 新版功能.

**kwargs

对于NumPy兼容性,不会对结果产生影响。

退货
系列或DataFrame

返回类型与原始对象相同, np.float64 数据类型。

参见

pandas.Series.rolling

使用系列数据进行呼叫滚动。

pandas.DataFrame.rolling

使用DataFrames调用滚动。

pandas.Series.sum

系列的合计和。

pandas.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