Skip to main content
`Ctrl`+`K`
scipy.stats.

# describe

scipy.stats.describe(a, axis=0, ddof=1, bias=True, nan_policy='propagate')

  Compute several descriptive statistics of the passed array.

  Parameters:
    a array_like

      Input data.

    axis int or None, optional

      Axis along which statistics are calculated. Default is 0. If None, compute over the whole array a.

    ddof int, optional

      Delta degrees of freedom (only for variance). Default is 1.

    bias bool, optional

      If False, then the skewness and kurtosis calculations are corrected for statistical bias.

    nan_policy{‘propagate’, ‘raise’, ‘omit’}, optional

      Defines how to handle when input contains nan. The following options are available (default is ‘propagate’):

      - ‘propagate’: returns nan

      - ‘raise’: throws an error

      - ‘omit’: performs the calculations ignoring nan values

  Returns:
    nobs int or ndarray of ints

      Number of observations (length of data along axis). When ‘omit’ is chosen as nan_policy, the length along each axis slice is counted separately.

    minmax: tuple of ndarrays or floats

      Minimum and maximum value of a along the given axis.

    mean ndarray or float

      Arithmetic mean of a along the given axis.

    variance ndarray or float

      Unbiased variance of a along the given axis; denominator is number of observations minus one.

    skewness ndarray or float

      Skewness of a along the given axis, based on moment calculations with denominator equal to the number of observations, i.e. no degrees of freedom correction.

    kurtosis ndarray or float

      Kurtosis (Fisher) of a along the given axis. The kurtosis is normalized so that it is zero for the normal distribution. No degrees of freedom are used.

  Raises:
    ValueError

      If size of a is 0.

  See also

  `skew`, `kurtosis`

  Examples

      >>> import numpy as np
      >>> from scipy import stats
      >>> a = np.arange(10)
      >>> stats.describe(a)
      DescribeResult(nobs=10, minmax=(0, 9), mean=4.5,
                     variance=9.166666666666666, skewness=0.0,
                     kurtosis=-1.2242424242424244)
      >>> b = [[1, 2], [3, 4]]
      >>> stats.describe(b)
      DescribeResult(nobs=2, minmax=(array([1, 2]), array([3, 4])),
                     mean=array([2., 3.]), variance=array([2., 2.]),
                     skewness=array([0., 0.]), kurtosis=array([-2., -2.]))