Comment remplacer les valeurs NaN par zéro dans NumPy
Vous pouvez utiliser la syntaxe de base suivante pour remplacer les valeurs NaN par zéro dans NumPy :
my_array[np.isnan(my_array)] = 0
Cette syntaxe fonctionne à la fois avec les matrices et les tableaux.
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : Remplacer les valeurs NaN par zéro dans le tableau NumPy
Le code suivant montre comment remplacer toutes les valeurs NaN par zéro dans un tableau NumPy :
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.]
Notez que les deux valeurs NaN du tableau d’origine ont été remplacées par zéro.
Exemple 2 : Remplacer les valeurs NaN par zéro dans la matrice NumPy
Supposons que nous ayons la matrice NumPy suivante :
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)
[[nan 4.]
[ 3. nan]
[ 8. 12.]]
Nous pouvons utiliser le code suivant pour remplacer toutes les valeurs NaN par zéro dans la matrice NumPy :
#replace nan values with zero in matrix
my_matrix[np.isnan(my_matrix)] = 0
#view updated array
print(my_matrix)
[[ 0. 4.]
[ 3. 0.]
[ 8. 12.]]
Notez que les deux valeurs NaN de la matrice d’origine ont été remplacées par zéro.
Connexe : Comment supprimer les valeurs NaN du tableau NumPy
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans NumPy :
Comment remplir un tableau NumPy avec des valeurs
Comment supprimer des éléments spécifiques du tableau NumPy
Comment remplacer des éléments dans un tableau NumPy
Comment obtenir une ligne spécifique à partir d’un tableau NumPy