Pandas: wählen sie zeilen aus dataframe mithilfe einer booleschen reihe aus


Sie können die folgende grundlegende Syntax verwenden, um Zeilen in einem Pandas-DataFrame basierend auf den Werten einer booleschen Reihe auszuwählen:

 #define boolean series
bools = pd. Series ([ True , False , True , True , False , False , False , True ])

#select rows in DataFrame based on values in boolean series
df[bools. values ]

Dadurch können Sie jede Zeile im Pandas-DataFrame auswählen, in der der entsprechende Wert in der booleschen Reihe True ist.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Wählen Sie Zeilen in Pandas DataFrame mithilfe einer booleschen Reihe aus

Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' 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 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Wir können die folgende Syntax verwenden, um alle Zeilen im DataFrame auszuwählen, bei denen der entsprechende Wert in einer booleschen Reihe True ist:

 #define boolean series
bools = pd. Series ([ True , False , True , True , False , False , False , True ])

#select rows in DataFrame based on values in boolean series
df[bools. values ]

     team points assists rebounds
0 A 18 5 11
2 C 19 7 10
3 D 14 9 6
7:28 4 12

Beachten Sie, dass nur die Zeilen zurückgegeben werden, für die der entsprechende Wert in der booleschen Reihe True ist.

Beachten Sie außerdem, dass Sie die folgende Syntax verwenden können, um nur Zeilen in der Spalte „Punkte“ des DataFrame auszuwählen, bei denen der entsprechende Wert in der booleschen Reihe True ist.

 #define boolean series
bools = pd. Series ([ True , False , True , True , False , False , False , True ])

#select rows in points column based on values in boolean series
df[' points '][bools. values ]

0 18
2 19
3 14
7 28
Name: points, dtype: int64

Beachten Sie, dass die Spalte „Punkte“ nur die Zeilen zurückgibt, in denen der entsprechende Wert in der booleschen Reihe True ist.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

So filtern Sie Zeilen basierend auf der Zeichenfolgenlänge in Pandas
So wählen Sie Zeilen ohne NaN-Werte in Pandas aus
So wählen Sie Zeilen basierend auf Spaltenwerten in Pandas aus

Einen Kommentar hinzufügen

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