Pandas和裸鼠的不同标准差

2024-04-26 23:43:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着为一个数组计算std,我试着用numpypandas来寻找std,但是我得到的结果不符合逻辑,我对同一个数组有两个不同的std

为什么会这样

>>> import numpy as np
>>> import pandas as pd

>>> a = np.arange(10)+1
>>> a
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>> a.std()
2.8722813232690143
>>> b = pd.DataFrame(a)
>>> b.std()
0    3.02765
dtype: float64

Tags: importnumpydataframepandasasnp数组逻辑
1条回答
网友
1楼 · 发布于 2024-04-26 23:43:07

区别在于自由度,numpy的默认值是ddof=0,pandas的默认值是ddof=1

print(a.std())
2.8722813232690143
print(a.std(ddof=0))
2.8722813232690143

print(a.std(ddof=1))
3.0276503540974917

b = pd.DataFrame(a)
print(b.std())
0    3.02765
dtype: float64
print(b.std(ddof=1))
0    3.02765
dtype: float64

print(b.std(ddof=0))
0    2.872281
dtype: float64

相关问题 更多 >