Verwendung des „or“-operators in pandas (mit beispielen)


Sie können das | verwenden Symbol als „OR“-Operator in Pandas.

Sie können beispielsweise die folgende grundlegende Syntax verwenden, um Zeilen in einem Pandas-DataFrame zu filtern, die Bedingung 1 oder Bedingung 2 erfüllen:

 df[(condition1) | (condition2)]

Die folgenden Beispiele zeigen, wie dieser „OR“-Operator in verschiedenen Szenarien verwendet wird.

Beispiel 1: Verwenden Sie den „OR“-Operator, um Zeilen basierend auf numerischen Werten in Pandas zu filtern

Angenommen, wir haben den folgenden Pandas-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

Wir können die folgende Syntax verwenden, um Zeilen im DataFrame zu filtern, bei denen der Wert in der Punktespalte größer als 20 oder der Wert in der Assists-Spalte gleich 9 ist:

 #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

Es werden nur die Zeilen zurückgegeben, in denen der Punktewert größer als 20 oder der Assists-Wert gleich 9 ist.

Beispiel 2: Verwenden Sie den Operator „OR“, um Zeilen basierend auf Zeichenfolgenwerten in Pandas zu filtern

Angenommen, wir haben den folgenden Pandas-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

Wir können die folgende Syntax verwenden, um Zeilen im DataFrame zu filtern, in denen der Wert in der Positionsspalte gleich G oder der Wert in der Positionsspalte gleich F ist oder der Wert in der Teamspalte gleich H ist:

 #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

Es werden nur die Zeilen zurückgegeben, die mindestens eine der drei angegebenen Bedingungen erfüllen.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So filtern Sie einen Pandas DataFrame nach Spaltenwerten
So filtern Sie Pandas DataFrame-Zeilen nach Datum
So filtern Sie einen Pandas DataFrame nach mehreren Bedingungen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert