看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas var()
方法用于计算 DataFrame 或 Series 中各列或各行的方差。方差是数据分布的离散程度的统计量,它度量了数据点相对于均值的平均偏离程度。方差越大,表示数据分布越分散;方差越小,表示数据分布越集中。
返回请求轴上的无偏方差。默认情况下按N-1标准化。这可以使用ddof参数进行更改。
DataFrame.var(axis=0,
skipna=True,
ddof=1,
numeric_only=None,
**kwargs)
axis
:int
,默认值是 0
指定计算的轴方向:
0
或 'index'
:按列计算方差。1
或 'columns'
:按行计算方差。skipna
:bool
,默认值是 True
是否忽略缺失值(NaN)。
True
,忽略缺失值并进行计算;False
,只要有缺失值存在,对应的计算结果就会是 NaN。ddof
:int
,默认值是 1
自由度修正量,计算样本方差时使用。方差计算公式中分母使用 N - ddof
,其中 N
是样本数量。
1
对样本数据进行方差计算;0
,则计算总体方差。numeric_only
:bool
,默认值是 None
是否只计算数值类型的列。
True
,只考虑数值类型的列;False
,包括所有数据类型的列,但只对能够进行计算的数据类型计算方差。****kwargs
**:其他关键词参数,用于扩展功能或在方法调用时传递给其他内部函数。
返回一个包含方差的 Series。结果的索引与输入数据一致。
df = pd.DataFrame({'person_id': [0, 1, 2, 3],
'age': [21, 25, 62, 43],
'height': [1.61, 1.87, 1.49, 2.01]}
).set_index('person_id')
df
'''
age height
person_id
0 21 1.61
1 25 1.87
2 62 1.49
3 43 2.01
'''
df.var()
'''
age 352.916667
height 0.056367
dtype: float64
'''
或者,ddof=0
可以设置为按N而不是N-1进行归一化:
df.var(ddof=0)
'''
age 264.687500
height 0.042275
dtype: float64
'''
假设我们有一个包含学生考试成绩的 DataFrame,我们可以使用 var()
方法来计算每门课程成绩的方差。
import pandas as pd
# 创建示例数据
data = {
'数学': [75, 85, 95, 65, 70],
'英语': [88, 92, 85, 70, 80],
'物理': [92, 90, 87, 85, 80]
}
df = pd.DataFrame(data)
# 计算各门课程的方差
df.var()
'''
数学 145.0
英语 72.0
物理 21.7
dtype: float64
'''
在这个例子中,var()
方法计算了每门课程成绩的方差。方差值越大,说明成绩的波动越大;方差值越小,说明成绩分布越集中。例如,数学
的方差最大,说明学生的数学成绩差异较大,而 物理
的方差最小,说明物理成绩相对集中。
更新时间:2024-08-08 22:05:04 标签:pandas python 方差 var