2016-02-25 66 views
0

有人可以解释为什么,根据许多平均计算器,这个数组的平均值是一个非常小的负数而不是零?为什么np.average和其他平均计算器一起给出这个结果

[-5.4,-4.4,-2.4,-1.4,13.6]

例如,numpy.average和numpy.mean返回该值:

-3.5527136788e-16 
+0

浮点数不准确。 – zondo

+0

这里有个很好的答案:https://stackoverflow.com/questions/588004/is-floating-point-math-broken – hruske

回答

0

由于浮数字并不完美。简单地说,这不等于0,而是等于1e-14左右。你可以找到更有趣的东西 - 改变你的数字顺序,然后计算总和/平均值,你会发现结果也取决于订购。简而言之,你不能在计算机中使用基数2表示0.4或0.6。