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