99 votes

Comment obtenir la liste des index de toutes les valeurs NaN dans un tableau numpy?

Dis maintenant, j'ai un tableau numpy qui est défini comme,

 [[1,2,3,4],
[2,3,NaN,5],
[NaN,5,2,3]]
 

Maintenant, je veux avoir une liste contenant tous les indices des valeurs manquantes, qui est [(1,2),(2,0)] dans ce cas.

Est-ce que je peux faire ça?

178voto

michael_j_ward Points 1789

np.isnan combiné avec np.argwhere

 x = np.array([[1,2,3,4],
              [2,3,np.nan,5],
              [np.nan,5,2,3]])
np.argwhere(np.isnan(x))
 

sortie:

 array([[1, 2],
       [2, 0]])
 

22voto

Nickil Maveli Points 16776

Vous pouvez utiliser np.where pour faire correspondre les conditions booléennes correspondant aux valeurs Nan du tableau et map chaque résultat pour générer une liste de tuples .

 >>>list(map(tuple, np.where(np.isnan(x))))
[(1, 2), (2, 0)]
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X