Calculate the rolling variance.

This docstring was copied from pandas.core.window.rolling.Rolling.var.

Some inconsistencies with the Dask version may exist.

ddofint, default 1

Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements.


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

enginestr, default None (Not supported in Dask)
  • '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.4.0.

engine_kwargsdict, default None (Not supported in Dask)
  • 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.4.0.


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

Series or DataFrame

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

See also


Equivalent method for NumPy array.


Calling rolling with Series data.


Calling rolling with DataFrames.


Aggregating var for Series.


Aggregating var for DataFrame.


The default ddof of 1 used in Series.var() is different than the default ddof of 0 in numpy.var().

A minimum of one period is required for the rolling calculation.

The implementation is susceptible to floating point imprecision as shown in the example below.


>>> s = pd.Series([5, 5, 6, 7, 5, 5, 5])  
>>> s.rolling(3).var()  
0             NaN
1             NaN
2    3.333333e-01
3    1.000000e+00
4    1.000000e+00
5    1.333333e+00
6    6.661338e-16
dtype: float64