浅谈numpy溢出错误
今天在进行实验数据处理时使用到了numpy.power()函数,一直导致结果和结论对不上,中间处理过程比较多,很难发现是因为计算数值出错的原因,最后发现是numpy运算过程中数值太大导致的溢出错误问题,属实被坑了。
当值需要比数据类型中的可用内存更多的内存时,NumPy数值类型的固定大小可能会导致溢出错误。比如:
原因就是四次方运算之后的值已经超出了numpy默认的整数类型32位,直接造成数值溢出。
当然上面例子很容易看出问题,如果下面这样可就很难发现了,一不小心就是个“
如果使用浮点数,结果就没有问题了。numpy默认浮点类型是np.float64
或者运算之前指定一下数据类型,用64位去存储这个数,不要用32位。
相关文章