Pandas : comment filtrer les séries par valeur



Vous pouvez utiliser les méthodes suivantes pour filtrer les valeurs dans une série pandas :

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

#filter for values equal to 7
my_series.loc[lambda x : x == 7]

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

#filter for values less than 10 or greater than 20
my_series.loc[lambda x : (x < 10) | (x > 20)]

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

#filter for values greater than 10 and less than 20
my_series.loc[lambda x : (x > 10) & (x < 20)] 

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

#filter for values that are equal to 4, 7, or 23
my_series[my_series.isin([4, 7, 23])]

Ce tutoriel explique comment utiliser chaque méthode en pratique avec les séries pandas suivantes :

import pandas as pd

#create pandas Series
data = pd.Series([4, 7, 7, 12, 19, 23, 25, 30])

#view pandas Series
print(data)

0     4
1     7
2     7
3    12
4    19
5    23
6    25
7    30
dtype: int64

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

Le code suivant montre comment filtrer la série pandas pour les valeurs égales à 7 :

#filter for values equal to 7
data.loc[lambda x : x == 7]

1    7
2    7
dtype: int64

Nous pouvons également filtrer les valeurs non égales à 7 :

#filter for values not equal to 7
data.loc[lambda x : x != 7]

0     4
3    12
4    19
5    23
6    25
7    30
dtype: int644

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

Le code suivant montre comment filtrer la série pandas pour les valeurs inférieures à 10 ou supérieures à 20 :

#filter for values less than 10 or greater than 20
data.loc[lambda x : (x < 10) | (x > 20)]

0     4
1     7
2     7
5    23
6    25
7    30
dtype: int64

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

Le code suivant montre comment filtrer la série pandas pour les valeurs supérieures à 10 et inférieures à 20 :

#filter for values greater than 10 and less than 20
data.loc[lambda x : (x > 10) & (x < 20)]

3    12
4    19
dtype: int64

Exemple 4 : filtrer les valeurs contenues dans la liste

Le code suivant montre comment filtrer la série pandas pour les valeurs contenues dans une liste :

#filter for values that are equal to 4, 7, or 23
data[data.isin([4, 7, 23])]

0     4
1     7
2     7
5    23
dtype: int64

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 *