gpt4 book ai didi

python - 如何计算 python 中列表的方差?

转载 作者:太空狗 更新时间:2023-10-29 17:09:24 24 4
gpt4 key购买 nike

如果我有这样一个列表:

results=[-14.82381293, -0.29423447, -13.56067979, -1.6288903, -0.31632439,
0.53459687, -1.34069996, -1.61042692, -4.03220519, -0.24332097]

我想用 Python 计算这个列表的方差,它是与均值的平方差的平均值。

我该怎么做?访问列表中的元素来进行计算让我对平方差感到困惑。

最佳答案

您可以使用 numpy 的内置函数 var :

import numpy as np

results = [-14.82381293, -0.29423447, -13.56067979, -1.6288903, -0.31632439,
0.53459687, -1.34069996, -1.61042692, -4.03220519, -0.24332097]

print(np.var(results))

这给你 28.822364260579157

如果 - 无论出于何种原因 - 你不能使用 numpy 和/或你不想为它使用内置函数,你也可以使用例如“手动”计算它一个list comprehension :

# calculate mean
m = sum(results) / len(results)

# calculate variance using a list comprehension
var_res = sum((xi - m) ** 2 for xi in results) / len(results)

这给你相同的结果。

如果您对标准差感兴趣,可以使用numpy.std :

print(np.std(results))
5.36864640860051

@Serge Ballesta explained very well方差 nn-1 之间的差异。在 numpy 中,您可以使用 ddof 选项轻松设置此参数;它的默认值为 0,因此对于 n-1 的情况,您可以简单地执行以下操作:

np.var(results, ddof=1)

“手动”解决方案在 @Serge Ballesta's answer 中给出。 .

这两种方法都会产生 32.024849178421285

您也可以为 std 设置参数:

np.std(results, ddof=1)
5.659050201086865

关于python - 如何计算 python 中列表的方差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35583302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com