【发布时间】:2021-12-20 03:43:12
【问题描述】:
我有一个 Numpy 数组,我想使用 statistics.stdev() 来计算它的标准差。这个操作的输出有点出乎意料。
import numpy as np
from statistics import stdev, pstdev
>>> a = np.array([0, 1, 2, 3])
>>> stdev(a)
1.0
这既不是样本标准差
>>> stdev([0, 1, 2, 3])
1.2909944487358056
也不是总体标准差
>>> pstdev([0, 1, 2, 3])
1.118033988749895
我想知道statistics.stdev() 是否不应该与 Numpy 数组一起使用,还是有一些潜在的机制导致了这种行为?
请注意,np.std() 适用于列表和 Numpy 数组。
>>> np.std([0, 1, 2, 3])
1.118033988749895
>>> np.std(np.array([0, 1, 2, 3]))
1.118033988749895
两者都按预期给出总体标准差。
【问题讨论】:
标签: python numpy statistics