哪个是正确的标准差公式Python

时间:2019-07-02 17:08:18

标签: python numpy

我很困惑。我发现用于找到SD(standard deviation)的公式很少。 这是NumPystd方法:

>>> nums = np.array([65, 36, 52, 91, 63, 79])
>>> np.std(nums)
17.716909687891082

但是我在这里找到了另一个公式:Standard deviation

通过具有相同数据集的该公式,我的结果是323,1666666666667‬。现在哪一个是对的?还是它们用于两种不同的事物?

编辑:似乎我忘记了平方根:)

2 个答案:

答案 0 :(得分:4)

当然,

numpy是正确的。这里是普通的python版本:

from math import sqrt

data = [65, 36, 52, 91, 63, 79]

mean = sum(data) / len(data)
std = sqrt(sum((d - mean) ** 2 for d in data) / len(data))
print(std)   # 17.716909687891082

答案 1 :(得分:0)

核心python。参见pstdev

import statistics
print(statistics.pstdev([65, 36, 52, 91, 63, 79]))

输出

17.716909687891082