Numpy库计算负数出正数(RuntimeWarning: overflow encountered in ulong_scalars)

我在涉及到Python里Numpy库计算时发现一个结果本该是负数的数被计算成了正值,我一开始还忽略了警告,过了许多天直到现在才发现错误。
原因就是忽略了数据类型。下图是我总结出来的较能看出问题的图片。

实际上我当时还声明了一个浮点数组,感觉能将数据清洗一下变成浮点数,结果枉然。而当时还茫然不知。

你可能会说你明明自己转换成了无符号整数数组还看不出来吗
a = np.array(a, dtype="uint32")
确实,但我是为了演示原理,实际上是我在读取图片时用了ndarray数组,读取的时候自己也没有声明,故一直茫然不知。
以下几篇博客也提到这个问题,感兴趣的可以看一下。

https://www.cnblogs.com/xiao-yu-/p/12725816.html
https://blog.csdn.net/mch2869253130/article/details/101057368
https://blog.csdn.net/weixin_39552204/article/details/111729665

posted @ 2022-05-11 20:36  Just_Now  阅读(520)  评论(0编辑  收藏  举报