加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 不同的标准在大熊猫vs numpy

发布时间:2020-12-16 23:18:24 所属栏目:Python 来源:网络整理
导读:大熊猫和麻木之间的标准偏差不同.为什么和哪一个是正确的? (相对差别是3.5%,不应该来自四舍五入,这在我看来很高). 例 import numpy as npimport pandas as pdfrom StringIO import StringIOa='''0.0574110.024367 0.021247-0.001809-0.010874-0.0358450.00
大熊猫和麻木之间的标准偏差不同.为什么和哪一个是正确的? (相对差别是3.5%,不应该来自四舍五入,这在我看来很高).

import numpy as np
import pandas as pd
from StringIO import StringIO

a='''0.057411
0.024367
 0.021247
-0.001809
-0.010874
-0.035845
0.001663
0.043282
0.004433
-0.007242
0.029294
0.023699
0.049654
0.034422
-0.005380'''


df = pd.read_csv(StringIO(a.strip()),delim_whitespace=True,header=None)

df.std()==np.std(df) # False
df.std() # 0.025801
np.std(df) # 0.024926

(0.024926 - 0.025801) / 0.024926 # 3.5% relative difference

我使用这些版本:

熊猫:
‘0.14.0’
numpy的:
‘1.8.1’

解决方法

简而言之,既不是“不正确的”.熊猫使用 unbiased estimator(N-1分母),而Numpy默认不使用.

为了使它们的行为相同,将ddof = 1传递给numpy.std().

有关进一步讨论,请参阅

> Can someone explain biased/unbiased population/sample standard deviation?
> Population variance and sample variance.
> Why divide by n-1?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读