Comment filtrer un tableau NumPy (4 exemples)



Vous pouvez utiliser les méthodes suivantes pour filtrer les valeurs d’un tableau NumPy :

Méthode 1 : filtrer les valeurs en fonction d’une seule condition

#filter for values less than 5
my_array[my_array < 5]

Méthode 2 : filtrer les valeurs à l’aide de la condition « OU »

#filter for values less than 5 or greater than 9
my_array[(my_array < 5) | (my_array > 9)]

Méthode 3 : filtrer les valeurs à l’aide de la condition « ET »

#filter for values greater than 5 and less than 9
my_array[(my_array > 5) & (my_array < 9)]

Méthode 4 : filtrer les valeurs contenues dans la liste

#filter for values that are equal to 2, 3, 5, or 12
my_array[np.in1d(my_array, [2, 3, 5, 12])]

Ce tutoriel explique comment utiliser chaque méthode en pratique avec le tableau NumPy suivant :

import numpy as np

#create NumPy array
my_array = np.array([1, 2, 2, 3, 5, 6, 7, 10, 12, 14])

#view NumPy array
my_array

array([ 1,  2,  2,  3,  5,  6,  7, 10, 12, 14])

Exemple 1 : Filtrer les valeurs en fonction d’une condition

Le code suivant montre comment filtrer les valeurs du tableau NumPy en fonction d’une seule condition :

#filter for values less than 5
my_array[(my_array < 5)]

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

#filter for values greater than 5
my_array[(my_array > 5)]

array([ 6,  7, 10, 12, 14])

#filter for values equal to 5
my_array[(my_array == 5)]

array([5])

Exemple 2 : Filtrer les valeurs à l’aide de la condition « OU »

Le code suivant montre comment filtrer les valeurs du tableau NumPy à l’aide d’une condition « OU » :

#filter for values less than 5 or greater than 9
my_array[(my_array < 5) | (my_array > 9)]

array([ 1,  2,  2,  3, 10, 12, 14])

Ce filtre renvoie les valeurs du tableau NumPy inférieures à 5 ou supérieures à 9.

Exemple 3 : Filtrer les valeurs à l’aide de la condition « ET »

Le code suivant montre comment filtrer les valeurs du tableau NumPy à l’aide d’une condition « ET » :

#filter for values greater than 5 and less than 9
my_array[(my_array > 5) & (my_array < 9)]

array([6, 7])

Ce filtre renvoie les valeurs du tableau NumPy supérieures à 5 et inférieures à 9.

Exemple 4 : filtrer les valeurs contenues dans la liste

Le code suivant montre comment filtrer les valeurs du tableau NumPy contenues dans une liste :

#filter for values that are equal to 2, 3, 5, or 12
my_array[np.in1d(my_array, [2, 3, 5, 12])]

array([ 2,  2,  3,  5, 12])

Ce filtre renvoie uniquement les valeurs égales à 2, 3, 5 ou 12.

Remarque : Vous pouvez trouver la documentation complète de la fonction NumPy in1d() ici .

Ressources additionnelles

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

Comment filtrer les lignes Pandas DataFrame qui contiennent une chaîne spécifique
Comment filtrer un DataFrame Pandas sur plusieurs conditions
Comment utiliser le filtre « NON IN » dans Pandas DataFrame

Ajouter un commentaire

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