Pandas: so fragen sie einen spaltennamen mit einem leerzeichen ab
Sie können die folgende Syntax verwenden, um eine Pandas-Abfrage unter Verwendung eines Spaltennamens mit einem Leerzeichen durchzuführen:
df. query (' `this column` == 20 ')
Beachten Sie, dass Sie in der Abfrage Anführungszeichen ( ` ) anstelle von doppelten Anführungszeichen verwenden müssen.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Abfragespalte in Pandas DataFrame mit Leerzeichen
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'], ' points scored ': [12, 20, 40, 20, 24, 10, 31]}) #view DataFrame print (df) team points scored 0 to 12 1 B 20 2 C 40 3 D 20 4 E 24 5 F 10 6 G 31
Nehmen wir nun an, wir möchten die Zeilen abfragen, in denen die Spalte mit den markierten Punkten gleich 20 ist.
Wenn wir die Funktion query() mit Anführungszeichen verwenden, erhalten wir eine Fehlermeldung:
#attempt to get rows where points scored column is equal to 20 df. query (' "points scored" == 20 ') TypeError: argument of type 'int' is not iterable
Stattdessen müssen wir die Funktion query() mit Backticks verwenden:
#get rows where points scored column is equal to 20 df. query (' `points scored` == 20 ') team points scored 1 B 20 3 D 20
Die Abfrage gibt die beiden Zeilen des DataFrame zurück, wobei die Spalte der markierten Punkte 20 beträgt.
Beachten Sie, dass wir auch keine Fehlermeldungen erhalten, da wir in der Funktion query() Anführungszeichen anstelle von Anführungszeichen verwendet haben.
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