Skip to main content
`Ctrl`+`K`

# pandas.api.typing.Expanding.std

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

  Calculate the expanding standard deviation.

  At each point in time, returns the sample standard deviation 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.std`

    Equivalent method for NumPy array.

  `Series.expanding`

    Calling expanding with Series data.

  `DataFrame.expanding`

    Calling expanding with DataFrames.

  `Series.std`

    Aggregating std for Series.

  `DataFrame.std`

    Aggregating std for DataFrame.

  Notes

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

  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).std()
      0         NaN
      1         NaN
      2    0.577350
      3    0.957427
      4    0.894427
      5    0.836660
      6    0.786796
      dtype: float64