pandas.DataFrame.sem — pandas 2.2.3 documentation (original) (raw)

DataFrame.sem(axis=0, 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), columns (1)}

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.

Returns:

Series or DataFrame (if level specified)

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 Trueto 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