我遇到了Numpy數組的問題,我偶然發現它,它讓我困惑。Python數字神祕地被比較圓整
我試圖使用array_equal
np.array_equal(updated_image_values[j][k],np.array(initial_means[i]))
這回False
比較2件陣列的當數是
[ 0.90980393 0.8392157 0.65098041]
[ 0.90980393 0.8392157 0.65098041]
以上就是我的兩個數組的打印。
然而,當我打印的各個元素一個似乎沒有理由
print updated_image_values[j][k][0] #0.909804
print initial_means[i][0] #0.90980393
那麼顯然是圓的,當這些獨立的元素進行比較,它返回False
print updated_image_values[j][k][0]==initial_means[i][0] #False
任何人都可以解釋爲什麼Python做的比較是錯誤的,並且沒有明顯的理由將數字四捨五入?
浮點數不表示一個確切的值。發生比較相等的兩個花車是巧合,而不是你應該測試或依賴的東西。 – jasonharper
發出'np.set_printoptions(precision = 16)'並再次比較數組;-)。 – user7138814
'set_printoptions'作品! – cjds