Skip to main content
`Ctrl`+`K`

# pandas.api.typing.DataFrameGroupBy.sem

DataFrameGroupBy.sem(ddof=1, numeric_only=False, skipna=True)

  Compute standard error of the mean of groups, excluding missing values.

  For multiple groupings, the result index will be a MultiIndex.

  Parameters:
    ddof int, default 1

      Degrees of freedom.

    numeric_only bool, default False

      Include only float, int or boolean data.

      Changed in version 2.0.0: numeric_only now defaults to `False`.

    skipna bool, default True

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

      Added in version 3.0.0.

  Returns:
    Series or DataFrame

      Standard error of the mean of values within each group.

  See also

  `DataFrame.sem`

    Return unbiased standard error of the mean over requested axis.

  `Series.sem`

    Return unbiased standard error of the mean over requested axis.

  Examples

  For SeriesGroupBy:

      >>> lst = ["a", "a", "b", "b"]
      >>> ser = pd.Series([5, 10, 8, 14], index=lst)
      >>> ser
      a     5
      a    10
      b     8
      b    14
      dtype: int64
      >>> ser.groupby(level=0).sem()
      a    2.5
      b    3.0
      dtype: float64

  For DataFrameGroupBy:

      >>> data = [[1, 12, 11], [1, 15, 2], [2, 5, 8], [2, 6, 12]]
      >>> df = pd.DataFrame(
      ...     data,
      ...     columns=["a", "b", "c"],
      ...     index=["tuna", "salmon", "catfish", "goldfish"],
      ... )
      >>> df
                 a   b   c
          tuna   1  12  11
        salmon   1  15   2
       catfish   2   5   8
      goldfish   2   6  12
      >>> df.groupby("a").sem()
            b  c
      a
      1    1.5  4.5
      2    0.5  2.0

  For Resampler:

      >>> ser = pd.Series(
      ...     [1, 3, 2, 4, 3, 8],
      ...     index=pd.DatetimeIndex(
      ...         [
      ...             "2023-01-01",
      ...             "2023-01-10",
      ...             "2023-01-15",
      ...             "2023-02-01",
      ...             "2023-02-10",
      ...             "2023-02-15",
      ...         ]
      ...     ),
      ... )
      >>> ser.resample("MS").sem()
      2023-01-01    0.577350
      2023-02-01    1.527525
      Freq: MS, dtype: float64