NumPy : Comment compter le nombre d’éléments égaux à NaN



Vous pouvez utiliser la syntaxe de base suivante pour compter le nombre d’éléments égal à NaN dans un tableau NumPy :

import numpy as np

np.count_nonzero(np.isnan(my_array))

Cet exemple particulier renverra le nombre d’éléments égal à NaN dans le tableau NumPy appelé my_array .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : compter le nombre d’éléments égaux à NaN dans le tableau NumPy

Le code suivant montre comment utiliser la fonction count_nonzero() pour compter le nombre d’éléments dans un tableau NumPy égal à NaN :

import numpy as np

#create NumPy array
my_array = np.array([5, 6, 7, 7, np.nan, 12, 14, 10, np.nan, 11, 14])

#count number of values in array equal to NaN
np.count_nonzero(np.isnan(my_array))

2

À partir de la sortie, nous pouvons voir que 2 valeurs du tableau NumPy sont égales à NaN.

Nous pouvons regarder manuellement le tableau NumPy pour vérifier qu’il y a bien deux éléments égaux à NaN dans le tableau.

Si vous souhaitez plutôt compter le nombre d’éléments non égal à NaN , vous pouvez utiliser la fonction count_nonzero() comme suit :

import numpy as np

#create NumPy array
my_array = np.array([5, 6, 7, 7, np.nan, 12, 14, 10, np.nan, 11, 14])

#count number of values in array not equal to NaN
np.count_nonzero(~np.isnan(my_array))

9

À partir du résultat, nous pouvons voir que 9 valeurs du tableau NumPy ne sont pas égales à NaN.

Remarque : L’opérateur tilde ( ~ ) est utilisé pour représenter le contraire d’une expression. Dans cet exemple, il compte le nombre d’éléments non égal à NaN.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :

Comment calculer le mode du tableau NumPy
Comment compter les valeurs uniques dans le tableau NumPy
Comment compter le nombre d’éléments égaux à zéro dans NumPy
Comment compter le nombre d’éléments égaux à True dans NumPy

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *