Python计算方差、标准差时 Numpy 和 Pandas 的区别
在数据分析的时候,发现使用
Numpy
和Pandas
时,计算出的方差和标准差有略微的区别,通过查阅资料,发现原因并非编码错误,而是本身内置函数的区别。特此记录。
Numpy
中的var
函数(std
函数),默认是总体方差(总体标准差),若需要得到样本方差(样本标准差),需要让参数ddof=1
,如
np.var(a) # 总体方差
np.std(a) # 总体标准差
np.var(a, ddof=1) # 样本方差
np.std(a, ddof=1) # 样本标准差
【Note】1)总体方差:计算时除以样本数N;2)样本方差:计算时除以N-1。
Pandas
中的var
函数(std
函数),默认是样本方差(样本标准差)。若要得到每一行的数学特征,需要让参数axis=1
,如
# 每一列的方差、标准差
df.var()
df.std()
# 每一行的方差、标注差
df.var(axis=1)
df.std(axis=1)