numpy踩坑:两个array中数值分别比较,在IDE显示相同,但是bool判断两个array是否相等值却是False
在numpy数据比较时,在IDE显示完全相同但是比较是否相等却有时候返回False?
原因出在了精度显示上面,在代码开始前使用了抑制精度显示:
np.set_printoptions(precision=3) # 可以设置显示精度
np.set_printoptions(suppress=True) # 抑制小数的科学计数法显示
难怪看运行结果完全一样,一比较两个array的值却发现有些的不想等
抑制小数点显示,但是实际上小数点还是存在的
正确查看浮点数数值的方法需要取出array中的数值显示,不要以array的整体形式显示:
例如:将
array == array
更改为:
array[0] == array[0]
要忽略后面的小数点,使用np.round(),如np.round(array, 2)保留两位小数
于是得到:
在验证array数据时遇到的坑,没有查到,故写下来记录,也许能帮到一些人