您可以使用numpy的内置函数
var:
import numpy as npresults = [-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和/或不想使用内置函数,也可以使用列表推导“手动”计算:
# calculate meanm = sum(results) / len(results)# calculate variance using a list comprehensionvar_res = sum((xi - m) ** 2 for xi in results) / len(results)
这会给您相同的结果。
如果您对 标准偏差
感兴趣,可以使用numpy.std:
print(np.std(results))5.36864640860051
@Serge
Ballesta很好地解释了方差
n和的区别
n-1。在numpy中,您可以使用选项轻松设置此参数
ddof;它的默认值为
0,因此
n-1您可以简单地执行以下 *** 作:
np.var(results, ddof=1)
@Serge Ballesta的答案给出了“手动”解决方案。
两种方法均会产生结果
32.024849178421285。
您还可以为设置参数
std:
np.std(results, ddof=1)5.659050201086865
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)