pandas.Series.sem#

Series.sem(*, axis=None, skipna=True, ddof=1, numeric_only=False, **kwargs)[source]#

Return unbiased standard error of the mean over requested axis.

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

Parameters:
axis{index (0)}

For Series this parameter is unused and defaults to 0.

Warning

The behavior of DataFrame.sem 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).

skipnabool, default True

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

ddofint, default 1

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

numeric_onlybool, default False

Include only float, int, boolean columns. Not implemented for Series.

**kwargs

Additional keywords have no effect but might be accepted for compatibility with NumPy.

Returns:
scalar or Series (if level specified)

Unbiased standard error of the mean over requested axis.

See also

scipy.stats.sem

Compute standard error of the mean.

Series.std

Return sample standard deviation over requested axis.

Series.var

Return unbiased variance over requested axis.

Series.mean

Return the mean of the values over the requested axis.

Series.median

Return the median of the values over the requested axis.

Series.mode

Return the mode(s) of the Series.

Examples

>>> s = pd.Series([1, 2, 3])
>>> s.sem().round(6)
0.57735

With a DataFrame

>>> df = pd.DataFrame({'a': [1, 2], 'b': [2, 3]}, index=['tiger', 'zebra'])
>>> df
       a   b
tiger  1   2
zebra  2   3
>>> df.sem()
a   0.5
b   0.5
dtype: float64

Using axis=1

>>> df.sem(axis=1)
tiger   0.5
zebra   0.5
dtype: float64

In this case, numeric_only should be set to True to avoid getting an error.

>>> df = pd.DataFrame({'a': [1, 2], 'b': ['T', 'Z']},
...                   index=['tiger', 'zebra'])
>>> df.sem(numeric_only=True)
a   0.5
dtype: float64