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

前端之家收集整理的这篇文章主要介绍了python – 不同的标准在大熊猫vs numpy前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
大熊猫和麻木之间的标准偏差不同.为什么和哪一个是正确的? (相对差别是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?

猜你在找的Python相关文章