3
我在Python上有一個數組A,它有一些由numpy.nan創建的nan值。我想使用A[A==numpy.nan] = 0
將所有nan值設置爲零。它根本不會改變陣列。這是爲什麼?將數組的值從nan更改爲0
我在Python上有一個數組A,它有一些由numpy.nan創建的nan值。我想使用A[A==numpy.nan] = 0
將所有nan值設置爲零。它根本不會改變陣列。這是爲什麼?將數組的值從nan更改爲0
你想np.isnan
:
A[np.isnan(A)] = 0
與您的代碼的問題是,(根據IEEE),nan
不等於什麼 - 甚至本身。
作爲邊注,還有也
np.isinf
- >(+/-無窮大)np.isfinite
- >(未無窮大或NaN)np.isposinf
- >(+無窮)np.isneginf
- >( - infinity)您可以使用numpy函數來更改所有的nan矩陣x處的值爲零。
numpy.nan_to_num(x)
不應'np.isfinite'說「* not * infinity or NaN」? – Eric
@Eric - 當然可以。 – mgilson
謝謝。是的,這是我想要的 –