当前位置: 首页 > 面试题库 >

pandas vs numpy的不同标准

罗昊明
2023-03-14
问题内容

熊猫和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’


问题答案:

简而言之,都不是“不正确的”。熊猫使用无偏估计量(N-1在分母中),而默认情况下Numpy不使用。

要使它们的行为相同,请传递ddof=1numpy.std()

有关更多讨论,请参见

  • 有人可以解释偏差/无偏差的总体/样本标准偏差吗?
  • 总体方差和样本方差。
  • 为什么要除以n-1?


 类似资料:
  • 我有一个Maven项目,其中包括一个Maven插件(Liquibase Maven插件),它公开了不同的目标。其中两个目标(update和diff)需要在它们之间发生冲突的不同参数(因为两者的语义不同),因此我需要在两个目标执行中赋予Maven不同的属性。 有没有办法在Maven中为不同的目标传递不同的配置?

  • 问题内容: 假设我有类似的课程: 我想在A上过滤标准,在不同的子类属性上过滤两个过滤器,例如: 我想要做的是使用“或”子句将criteriaB和criteriaC组合在一起,例如: 我该怎么做?我在这里对API稍作绊脚石。 问题答案: 使用别名代替嵌套条件:

  • 嗨,我想写一个查询使用条件:以下查询必须使用条件创建: “从S2中选择不同的(s2Taxper),其中s2Tc='601'和s2Txcd!=”” 提前谢谢

  • 我有个人课: 我有一个叫personList的人的名单: 现在我需要找到所有状态为“不活跃”的人,不管这个人是否有身份证。如果一个人没有身份证,但状态为“活跃”,也包括那个人。我正在使用Java流进行过滤: 流式传输后的结果是没有人被选中。第一个人没有被选中是因为它没有通过第二个过滤器,最后一个人没有被选中是因为它没有通过第一个过滤器。 我想我可以通过使用将两个过滤器合并成一个来修复它,但是我正在

  • 我需要调用不同的头来托管和关于下面提到的页面,当执行下面的代码时,我得到的错误是“未定义的类常量‘hosting’”。建议我如何解决这个问题,并为不同的页面调用不同的标题。

  • 我想创建一个,但我想为标签和提示创建一个不同的文本。