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

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

Calculate the rolling sum.

Parameters
*args

For NumPy compatibility and will not have an effect on the result.

enginestr, default None
  • 'cython' : Runs the operation through C-extensions from cython.

  • 'numba' : Runs the operation through JIT compiled code from numba.

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

    New in version 1.3.0.

engine_kwargsdict, default None
  • For 'cython' engine, there are no accepted engine_kwargs

  • For 'numba' engine, the engine can accept nopython, nogil and parallel dictionary keys. The values must either be True or False. The default engine_kwargs for the 'numba' engine is {'nopython': True, 'nogil': False, 'parallel': False}

    New in version 1.3.0.

**kwargs

For NumPy compatibility and will not have an effect on the result.

Returns
Series or DataFrame

Return type is the same as the original object with np.float64 dtype.

See also

pandas.Series.rolling

Calling rolling with Series data.

pandas.DataFrame.rolling

Calling rolling with DataFrames.

pandas.Series.sum

Aggregating sum for Series.

pandas.DataFrame.sum

Aggregating sum for DataFrame.

Notes

See Numba engine and Numba (JIT compilation) for extended documentation and performance considerations for the Numba engine.

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

For DataFrame, each sum is computed column-wise.

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