Panda's: een kolomnaam met een spatie opvragen
U kunt de volgende syntaxis gebruiken om een Panda-query uit te voeren met behulp van een kolomnaam met een spatie:
df. query (' `this column` == 20 ')
Houd er rekening mee dat u aanhalingstekens ( ` ) in de query moet gebruiken in plaats van dubbele aanhalingstekens.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Querykolom in Pandas DataFrame met spatie
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:
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
Stel nu dat we de rijen willen doorzoeken waarin de gemarkeerde puntenkolom gelijk is aan 20.
Als we de functie query() met aanhalingstekens gebruiken, krijgen we een foutmelding:
#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
In plaats daarvan moeten we de functie query() gebruiken met backticks:
#get rows where points scored column is equal to 20 df. query (' `points scored` == 20 ') team points scored 1 B 20 3 D 20
De query retourneert de twee rijen van het DataFrame waarbij de kolom met gemarkeerde punten gelijk is aan 20.
Merk op dat we ook geen fouten ontvangen omdat we aanhalingstekens hebben gebruikt in plaats van aanhalingstekens in de functie query() .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Panda’s: rijen filteren op basis van tekenreekslengte
Panda’s: rijen verwijderen op basis van voorwaarde
Panda’s: hoe u het “NO IN”-filter gebruikt