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

Einen Kommentar hinzufügen

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