次のように定義されたnumpy配列があるとします。
[[1,2,3,4],
[2,3,NaN,5],
[NaN,5,2,3]]
ここで、欠損値のすべてのインデックスを含むリストを作成します。この場合、[(1,2),(2,0)]
です。
それを行う方法はありますか?
np.isnannp.argwhere と組み合わせて
x = np.array([[1,2,3,4],
[2,3,np.nan,5],
[np.nan,5,2,3]])
np.argwhere(np.isnan(x))
出力:
array([[1, 2],
[2, 0]])
np.where
を使用して、配列のNan
値とmap
の各値に対応するブール条件を一致させ、tuples
のリストを生成できます。
>>>list(map(Tuple, np.where(np.isnan(x))))
[(1, 2), (2, 0)]