Pandas: so verwenden sie eine variable in der funktion query()
Sie können die folgende Syntax verwenden, um die Funktion query() in Pandas zu verwenden und auf einen Variablennamen zu verweisen:
df. query (' team == @team_name ')
Diese spezielle Abfrage sucht nach Zeilen in einem Pandas-DataFrame, in denen die Teamspalte dem Wert entspricht, der in der Variablen namens team_name gespeichert ist.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: So verwenden Sie eine Variable in einer Pandas-Abfrage
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #view DataFrame print (df) team position points 0 AG 22 1 AG 25 2 AF 24 3 BG 39 4 BF 34 5 BF 20 6 BF 18 7 GC 17 8 GC 20 9 CF 19 10 CF 22
Angenommen, wir möchten Zeilen finden, in denen der Wert in der Teamspalte gleich C ist.
Wir können die folgende Syntax verwenden, um eine Variable namens team_name zu erstellen, die gleich „C“ ist, und dann in der Funktion query() auf diese Variable verweisen:
#specify team name to search for team_name = ' C ' #query for rows where team is equal to team_name df. query (' team == @team_name ') team position points 7 C G 17 8 C G 20 9 C F 19 10 C F 22
Beachten Sie, dass die Funktion query() alle Zeilen zurückgibt, in denen der Wert in der Teamspalte gleich C ist.
Beachten Sie auch, dass wir in der Funktion query() auf mehrere Variablen verweisen können, wenn wir möchten.
Der folgende Code zeigt beispielsweise, wie Sie mit der Funktion query() alle Zeilen zurückgeben, in denen der Wert in der Spalte „ team“ dem Wert einer Variablen namens „ team_A “ oder einer Variablen namens „team_C“ entspricht:
#create two variables team_A = ' A ' team_C = ' C ' #query for rows where team is equal to either of the two variables df. query (' team == @team_A | team == @team_C ') team position points 0 A G 22 1 A G 25 2 A F 24 7 C G 17 8 C G 20 9 C F 19 10 C F 22
Die Abfrage gibt alle Zeilen im DataFrame zurück, wobei team den in einer der beiden von uns angegebenen Variablen gespeicherten Werten entspricht.
Hinweis : Die vollständige Dokumentation der Funktion pandas query() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
Pandas: So filtern Sie Zeilen basierend auf der Zeichenfolgenlänge
Pandas: So löschen Sie Zeilen basierend auf der Bedingung
Pandas: So verwenden Sie den „NO IN“-Filter