Come utilizzare l'operatore "or" in panda (con esempi)


Puoi usare | simbolo come operatore “OR” nei panda.

Ad esempio, puoi utilizzare la seguente sintassi di base per filtrare le righe in un DataFrame panda che soddisfano la condizione 1 o la condizione 2:

 df[(condition1) | (condition2)]

Gli esempi seguenti mostrano come utilizzare questo operatore “OR” in diversi scenari.

Esempio 1: utilizzare l’operatore “OR” per filtrare le righe in base a valori numerici in Panda

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
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 to 25 5 11
1 to 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

Possiamo utilizzare la seguente sintassi per filtrare le righe nel DataFrame in cui il valore nella colonna dei punti è maggiore di 20 o il valore nella colonna degli assist è uguale a 9:

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

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

Le uniche righe restituite sono quelle in cui il valore dei punti è maggiore di 20 o il valore degli assist è uguale a 9.

Esempio 2: utilizzare l’operatore “OR” per filtrare le righe in base ai valori stringa in Panda

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
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 AGW 11
1 BGW 8
2 CFW 10
3DFW 6
4 ECE 6
5 FFE 5
6 GCE 9
7 HCE 12

Possiamo utilizzare la seguente sintassi per filtrare le righe nel DataFrame in cui il valore nella colonna posizione è uguale a G o il valore nella colonna posizione è uguale a F o il valore nella colonna squadra è uguale a 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

Le uniche righe restituite sono quelle che soddisfano almeno una delle tre condizioni specificate.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come filtrare un Pandas DataFrame in base ai valori delle colonne
Come filtrare le righe Pandas DataFrame per data
Come filtrare un Pandas DataFrame su più condizioni

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *