📜  Python|熊猫 dataframe.sem()(1)

📅  最后修改于: 2023-12-03 15:19:21.206000             🧑  作者: Mango

Python | 熊猫 dataframe.sem()

简介

DataFrame.sem()是Pandas中DataFrame对象的一个函数,用于计算每个数值列的标准误(标准误差)。标准误是指样本抽取自总体中的一个样本,在数值上与总体存在一定差异,使用这个样本的平均值来估计整个总体的平均值,因此样本平均值的大小反映了总体平均值的不确定性,标准误就是反映平均值不确定性的一个指标。

语法

DataFrame.sem(axis=None, skipna=None, level=None, ddof=1, numeric_only=None)

  • axis : {0 or 'index', 1 or 'columns'}, 指定计算标准误(标准误差)的方向,默认行方向(axis=0)。
  • skipna : bool, 是否忽略NaN值,默认True。
  • level : int or str, 指定在哪个级别上计算标准误,默认None,即在所有的级别上都进行计算。
  • ddof : int, 自由度校正,默认1。
  • numeric_only : bool, 是否只计算数值列的标准误,默认True。
参数
axis
  • axis=0,按列计算标准误(默认)。
  • axis=1,按行计算标准误。
skipna
  • skipna=True,忽略NaN值。
  • skipna=False,不忽略NaN值。
level
  • level=None,在所有的级别上计算。
ddof
  • ddof=1,自由度校正。
numeric_only
  • numeric_only=True,只计算数值列的标准误。
  • numeric_only=False,计算所有列的标准误。
返回值

DataFrame类型,返回每一列的标准误,如果是axis=1,返回每一行的标准误。

示例
import pandas as pd

data = {'A': [1, 3, 5, 7], 'B': [2, 4, 6, 8], 'C': [1, 3, 5, None]}
df = pd.DataFrame(data)
print(df.sem()) # 按照默认方向(axis=0)计算所有数值列的标准误

输出结果:

A    2.236068
B    2.236068
C    1.154701
dtype: float64
print(df.sem(axis=1)) # 按行计算每一行的标准误

输出结果:

0    0.471405
1    0.471405
2    0.471405
3    0.471405
dtype: float64
注意事项
  • 计算标准误时,默认的自由度是n-1,n为样本数,因此自由度校正的值为1。
  • 如果数据中存在NaN,标准误的计算结果也会是NaN,除非skipna参数被设置为False。
  • 如果读者想了解更多有关DataFrame.sem()函数的详细信息和使用方法,可以访问官方文档:DataFrame.sem()