scipy.stats.sem(a, axis=0, ddof=1, nan_policy='propagate')[source]

Calculates the standard error of the mean (or standard error of measurement) of the values in the input array.


a : array_like

An array containing the values for which the standard error is returned.

axis : int or None, optional

Axis along which to operate. Default is 0. If None, compute over the whole array a.

ddof : int, optional

Delta degrees-of-freedom. How many degrees of freedom to adjust for bias in limited samples relative to the population estimate of variance. Defaults to 1.

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

Defines how to handle when input contains nan. ‘propagate’ returns nan, ‘raise’ throws an error, ‘omit’ performs the calculations ignoring nan values. Default is ‘propagate’.


s : ndarray or float

The standard error of the mean in the sample(s), along the input axis.


The default value for ddof is different to the default (0) used by other ddof containing routines, such as np.std and np.nanstd.


Find standard error along the first axis:

>>> from scipy import stats
>>> a = np.arange(20).reshape(5,4)
>>> stats.sem(a)
array([ 2.8284,  2.8284,  2.8284,  2.8284])

Find standard error across the whole array, using n degrees of freedom:

>>> stats.sem(a, axis=None, ddof=0)

Previous topic


Next topic