Numpyでnan値をゼロに置き換える方法
次の基本構文を使用して、NumPy で NaN 値をゼロに置き換えることができます。
my_array[np. isnan (my_array)] = 0
この構文は行列と配列の両方で機能します。
次の例は、この構文を実際に使用する方法を示しています。
例 1: NumPy 配列内の NaN 値をゼロに置き換える
次のコードは、NumPy 配列内のすべての NaN 値をゼロに置き換える方法を示しています。
import numpy as np
#create array of data
my_array = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#replace nan values with zero in array
my_array[np. isnan (my_array)] = 0
#view updated array
print (my_array)
[4.0.6.0.10.11.14.19.22.]
元のテーブルの両方の NaN 値がゼロに置き換えられていることに注意してください。
例 2: NumPy 行列の NaN 値をゼロに置き換える
次の NumPy 行列があるとします。
import numpy as np
#create NumPy matrix
my_matrix = np. matrix ( np.array ([np.nan,4,3,np.nan,8,12]). reshape ((3,2)))
#view NumPy matrix
print (my_matrix)
[[nah 4.]
[ 3. nah]
[8.12.]]
次のコードを使用して、NumPy 行列内のすべての NaN 値をゼロに置き換えることができます。
#replace nan values with zero in matrix
my_matrix[np. isnan (my_matrix)] = 0
#view updated array
print (my_matrix)
[[ 0. 4.]
[ 30.]
[8.12.]]
元の行列の両方の NaN 値がゼロに置き換えられていることに注意してください。
追加リソース
次のチュートリアルでは、NumPy で他の一般的なタスクを実行する方法について説明します。
NumPy 配列に値を入力する方法
NumPy配列から特定の要素を削除する方法
NumPy配列内の要素を置換する方法
NumPy配列から特定の行を取得する方法