浅谈numpy溢出错误

2023-03-19 17:03:27 错误 溢出 浅谈

今天在进行实验数据处理时使用到了numpy.power()函数,一直导致结果和结论对不上,中间处理过程比较多,很难发现是因为计算数值出错的原因,最后发现是numpy运算过程中数值太大导致的溢出错误问题,属实被坑了。

当值需要比数据类型中的可用内存更多的内存时,NumPy数值类型的固定大小可能会导致溢出错误。比如:

原因就是四次方运算之后的值已经超出了numpy默认的整数类型32位,直接造成数值溢出。
当然上面例子很容易看出问题,如果下面这样可就很难发现了,一不小心就是个“

如果使用浮点数,结果就没有问题了。numpy默认浮点类型是np.float64

或者运算之前指定一下数据类型,用64位去存储这个数,不要用32位。

相关文章