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