我有兩個numpy數組,我試圖用另一個除另一個,並且同時我想確保除數爲0的條目應該被替換爲0numpy:在true_divide中遇到的值無效
所以,我做這樣的事情:
log_norm_images = np.where(b_0 > 0, np.divide(diff_images, b_0), 0)
這給我的一個運行時警告:
RuntimeWarning: invalid value encountered in true_divide
現在,我想看看發生了什麼事情,我做了以下:
xx = np.isfinite(diff_images)
print (xx[xx == False])
xx = np.isfinite(b_0)
print (xx[xx == False])
但是,這兩個返回空數組意味着數組中的所有值都是有限的。所以,我不確定無效值是從哪裏來的。我假設在np.where函數中檢查b_0> 0處理除數0.
兩個數組的形狀是(96,96,55,64)和(96,96,55,1) )
爲什麼'xx'是'False'和字典? – seequ
我認爲isfinite返回一個布爾數組。所以,我正在尋找價值不是有限的地方。 – Luca
嘗試'[x for x in xx if x == False]''。你只是想獲取鑰匙'False' – seequ