Comment utiliser « OU » Opérateur dans Pandas (avec exemples)



Vous pouvez utiliser le | symbole comme opérateur « OU » chez les pandas.

Par exemple, vous pouvez utiliser la syntaxe de base suivante pour filtrer les lignes d’un DataFrame pandas qui satisfont à la condition 1 ou à la condition 2 :

df[(condition1) | (condition2)]

Les exemples suivants montrent comment utiliser cet opérateur « OU » dans différents scénarios.

Exemple 1 : utilisez l’opérateur « OR » pour filtrer les lignes en fonction de valeurs numériques dans Pandas

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

        team	points	assists	rebounds
0	A	25	5	11
1	A	12	7	8
2	B	15	7	10
3	B	14	9	6
4	B	19	12	6
5	B	23	9	5
6	C	25	9	9
7	C	29	4	12

Nous pouvons utiliser la syntaxe suivante pour filtrer les lignes du DataFrame où la valeur dans la colonne des points est supérieure à 20 ou la valeur dans la colonne des assistances est égale à 9 :

#filter rows where points > 20 or assists = 9
df[(df.points > 20) | (df.assists == 9)]

        team	points	assists	rebounds
0	A	25	5	11
3	B	14	9	6
5	B	23	9	5
6	C	25	9	9
7	C	29	4	12

Les seules lignes renvoyées sont celles où la valeur des points est supérieure à 20 ou la valeur des passes décisives est égale à 9.

Exemple 2 : utilisez l’opérateur « OR » pour filtrer les lignes en fonction des valeurs de chaîne dans Pandas

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'position': ['G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'],
                   'conference': ['W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'],
                   'points': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team position conference  points
0    A        G          W      11
1    B        G          W       8
2    C        F          W      10
3    D        F          W       6
4    E        C          E       6
5    F        F          E       5
6    G        C          E       9
7    H        C          E      12

Nous pouvons utiliser la syntaxe suivante pour filtrer les lignes du DataFrame où la valeur dans la colonne position est égale à G ou la valeur dans la colonne position est égale à F ou la valeur dans la colonne équipe est égale à H :

#filter rows based on string values
df[(df.team == 'H') | (df.position == 'G') | (df.position == 'F')]

     team position conference points
0	A	 G	    W	  11
1	B	 G	    W	   8
2	C	 F	    W	  10
3	D	 F	    W	   6
5	F	 F	    E	   5
7	H	 C	    E	  12

Les seules lignes renvoyées sont celles qui remplissent au moins une des trois conditions spécifiées.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment filtrer un DataFrame Pandas par valeurs de colonne
Comment filtrer les lignes Pandas DataFrame par date
Comment filtrer un DataFrame Pandas sur plusieurs conditions

Ajouter un commentaire

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