Skip to main content
`Ctrl`+`K`

# pandas.api.typing.Expanding.var

Expanding.var(ddof=1, numeric_only=False, engine=None, engine_kwargs=None)

  Calculate the expanding variance.

  At each point in time, returns the sample variance of all values observed up to that point, using `ddof` degrees of freedom correction.

  Parameters:
    ddof int, default 1

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

    numeric_only bool, default False

      Include only float, int, boolean columns.

    engine str, 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`

    engine_kwargs dict, default None

      - For `'cython'` engine, there are no accepted `engine_kwargs`

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

  Returns:
    Series or DataFrame

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

  See also

  `numpy.var`

    Equivalent method for NumPy array.

  `Series.expanding`

    Calling expanding with Series data.

  `DataFrame.expanding`

    Calling expanding with DataFrames.

  `Series.var`

    Aggregating var for Series.

  `DataFrame.var`

    Aggregating var for DataFrame.

  Notes

  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.

  Examples

      >>> s = pd.Series([5, 5, 6, 7, 5, 5, 5])

      >>> s.expanding(3).var()
      0         NaN
      1         NaN
      2    0.333333
      3    0.916667
      4    0.800000
      5    0.700000
      6    0.619048
      dtype: float64