Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.std

DataFrame.std(*, axis=0, skipna=True, ddof=1, numeric_only=False, **kwargs)

  Return sample standard deviation over requested axis.

  Normalized by N-1 by default. This can be changed using the ddof argument.

  Parameters:
    axis{index (0), columns (1)}, default 0

      Axis for the function to be applied on. For Series this parameter is unused and defaults to 0.

      Warning

      The behavior of DataFrame.std with `axis=None` is deprecated, in a future version this will reduce over both axes and return a scalar To retain the old behavior, pass axis=0 (or do not pass axis).

    skipna bool, default True

      Exclude NA/null values. If an entire row/column is NA, the result will be NA.

    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. Not implemented for Series.

    **kwargs dict

      Additional keyword arguments have no effect but might be accepted for compatibility with NumPy. See NumPy compatibility kwargs for more.

  Returns:
    Series or scalar

      Standard deviation over requested axis.

  See also

  `Series.std`

    Return standard deviation over Series values.

  `DataFrame.mean`

    Return the mean of the values over the requested axis.

  `DataFrame.median`

    Return the median of the values over the requested axis.

  `DataFrame.mode`

    Get the mode(s) of each element along the requested axis.

  `DataFrame.sum`

    Return the sum of the values over the requested axis.

  Notes

  To have the same behaviour as `numpy.std`, use `ddof=0` (instead of the default `ddof=1`) and `skipna=False`.

  Examples

      >>> df = pd.DataFrame(
      ...     {
      ...         "person_id": [0, 1, 2, 3],
      ...         "age": [21, 25, 62, 43],
      ...         "height": [1.61, 1.87, 1.49, 2.01],
      ...     }
      ... ).set_index("person_id")
      >>> df
                 age  height
      person_id
      0           21    1.61
      1           25    1.87
      2           62    1.49
      3           43    2.01

  The standard deviation of the columns can be found as follows:

      >>> df.std()
      age       18.786076
      height     0.237417
      dtype: float64

  Alternatively, ddof=0 can be set to normalize by N instead of N-1:

      >>> df.std(ddof=0)
      age       16.269219
      height     0.205609
      dtype: float64