pandas.core.window.rolling.Rolling.sum # 滚动。sum ( numeric_only = False , engine = None , engine_kwargs = None ) [来源] # 计算滚动总和。 参数: numeric_only布尔值,默认 False仅包含 float、int、boolean 列。 1.5.0 版本中的新增内容。 引擎str,默认无 'cython':通过 cython 的 C 扩展运行操作。 'numba':通过 numba 的 JIT 编译代码运行操作。 None:默认'cython'或全局设置compute.use_numba 1.3.0 版本中的新增功能。 engine_kwargs字典,默认 None 对于'cython'发动机,没有可接受的engine_kwargs 对于'numba'引擎,引擎可以接受nopython,nogil 和parallel字典键。这些值必须是True或 False。引擎engine_kwargs的默认值'numba'是 {'nopython': True, 'nogil': False, 'parallel': False} 1.3.0 版本中的新增功能。 返回: 系列或数据框返回类型与具有 dtype 的原始对象相同np.float64。 也可以看看 pandas.Series.rolling使用系列数据进行滚动调用。 pandas.DataFrame.rolling使用 DataFrame 调用滚动。 pandas.Series.sum系列的合计总和。 pandas.DataFrame.sumDataFrame 的聚合总和。 笔记 有关 Numba 引擎的扩展文档和性能注意事项,请参阅Numba 引擎和Numba(JIT 编译) 。 例子 >>> 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