【问题标题】:Why do np.std(X) and X.std() return different values?为什么 np.std(X) 和 X.std() 返回不同的值?
【发布时间】:2019-12-02 07:16:49
【问题描述】:

我正在尝试使用平均归一化计算我的数据集的归一化分数。当我写(X - np.mean(X))/np.std(X) 时,它给我的分数与写((X - X.mean())/X.std() 不同。

问题似乎来自标准差的计算。 X.std() 返回一个标准差值,np.std() 返回不同的标准化值。为什么会这样?

【问题讨论】:

  • 什么是X? (例如 Pandas DataFrame、xarray DataArray 等)
  • 这是一个数据框。我现在明白了。

标签: pandas numpy statistics standard-deviation


【解决方案1】:

Pandas 使用无偏估计量(分母为 N-1),而 Numpy 默认没有。

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

Different std in pandas vs numpy

【讨论】:

  • 谢谢。它现在给出了相同的答案。
  • 如果它解决了问题并且您对此答案感到满意,请@Matt,接受并关闭问题。
猜你喜欢
  • 2020-06-24
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
相关资源
最近更新 更多