Pandy: jak zapytać o nazwę kolumny ze spacją


Możesz użyć następującej składni, aby wykonać zapytanie pand, używając nazwy kolumny ze spacją:

 df. query (' `this column` == 20 ')

Pamiętaj, że w zapytaniu należy użyć cudzysłowów ( ` ), a nie podwójnych cudzysłowów.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: kolumna zapytania w Pandas DataFrame ze spacją

Załóżmy, że mamy następującą ramkę danych pand, która zawiera informacje o różnych koszykarzach:

 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

Załóżmy teraz, że chcemy wysłać zapytanie do wierszy, w których kolumna zaznaczonych punktów jest równa 20.

Jeżeli użyjemy funkcji query() z cudzysłowami otrzymamy błąd:

 #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

Zamiast tego musimy użyć funkcji query() z backtickami:

 #get rows where points scored column is equal to 20
df. query (' `points scored` == 20 ')

	team points scored
1 B 20
3 D 20

Zapytanie zwraca dwa wiersze DataFrame, gdzie kolumna zaznaczonych punktów wynosi 20.

Zauważ, że nie otrzymaliśmy żadnych błędów, ponieważ w funkcji query() użyliśmy cudzysłowów zamiast cudzysłowów.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: Jak filtrować wiersze na podstawie długości łańcucha
Pandy: Jak usuwać wiersze na podstawie warunku
Pandy: Jak korzystać z filtra „NO IN”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *