Panda: come interrogare il nome di una colonna con uno spazio


È possibile utilizzare la seguente sintassi per eseguire una query panda utilizzando un nome di colonna con uno spazio:

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

Tieni presente che nella query devi utilizzare le virgolette ( ` ) anziché le virgolette doppie.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: colonna di query in Pandas DataFrame con spazio

Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:

 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

Supponiamo ora di voler interrogare le righe in cui la colonna dei punti contrassegnati è uguale a 20.

Se utilizziamo la funzione query() tra virgolette, riceveremo un errore:

 #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

Dobbiamo invece utilizzare la funzione query() con i backtick:

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

	team points scored
1 B 20
3 D 20

La query restituisce le due righe del DataFrame in cui la colonna dei punti contrassegnati è uguale a 20.

Tieni presente che non riceviamo alcun errore perché abbiamo utilizzato le virgolette invece delle virgolette nella funzione query() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: come filtrare le righe in base alla lunghezza della stringa
Panda: come eliminare le righe in base alla condizione
Panda: come utilizzare il filtro “NO IN”.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *