python numpy中的长(> 2000万元素)数组求和

python numpy中的长(> 2000万元素)数组求和,第1张

python numpy中的长(> 2000万元素)数组求和

如注释中所述,通过对数百万个等号的数字求和会产生浮点取整问题。解决此问题的一种可能方法是在组合数组中混合正数和负数,以便在求和时得到的任何中间结果始终大致保持在相同的数量级内:

neg = -100*numpy.random.rand(20e6)pos = -negcombined = numpy.zeros(len(neg)+len(pos))combined[::2] = negcombined[1::2] = pos

现在

combined.sum()
应该几乎为零。

也许这种方法也将有助于提高标准偏差的计算精度。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存