2016-02-15 154 views
1

與-0值處理出於某種原因,我的數據縮減適合圖像給了我-0值,我想設置爲0。在numpy的陣列

我已經嘗試使用:

my_array[~numpy.isfinite(my_array)] = 0 

所有我想要做的是設置corrfact_um2_ext1陣列0在-0值只是爲了把一切都在相同的格式,因爲我認爲這可能會導致後續數據還原步驟的問題。

但是,這只是處理NaN值,並將它們設置爲0.所以,我在這裏一半!

+2

可能的重複[如何消除多餘的負號在四捨五入將負數舍入到零時?](http://stackoverflow.com/questions/26782038/how-to-eliminate-the-extra-minus-sign -when-rounding-negative-numbers-toward-zer) – runDOSrun

+0

你是如何得到-0的? – thefoxrocks

+1

我甚至不知道! :)我用scipy.ndimage.filters.uniform_filter() –

回答

1

只需加入0.0至每個浮點數應該解決這個問題:

a = np.array([-0.0, 0.0, 1.0, -1.0]) 
Out[1]: array([-0., 0., 1., -1.] 

a += 0.0 
a 
Out[2]: array([ 0., 0., 1., -1.]) 

但請注意:

np.array(-0.) == np.array(+0.) 
Out[3]: True 

這是否解決問題了嗎?

+0

工程就像一個魅力!非常感謝。 –