Ottenere un Elenco di tutti i Nomi di Colonna in Panda DataFrame
Qui ci sono due approcci per ottenere un elenco di tutti i nomi delle colonne Panda DataFrame:
Primo approccio:
my_list = list(df)
Secondo approccio:
my_list = df.columns.values.tolist()
più Tardi, potrete anche vedere quale approccio è il più veloce da utilizzare.
L’esempio
Per iniziare con un semplice esempio, creiamo un DataFrame con 3 colonne:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )print (df)
Una volta eseguito il codice precedente, vedrai il seguente DataFrame con le 3 colonne:
Usando la lista(df) per Ottenere l’Elenco di tutti i Nomi di Colonna in Panda DataFrame
È possibile utilizzare il primo approccio con l’aggiunta di my_list = list(df) per il codice:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )my_list = list(df)print (my_list)
adesso puoi vedere l’Elenco che contiene i 3 nomi di colonna:
Opzionalmente, è possibile verificare rapidamente che hai un elenco aggiungendo di stampa (tipo(my_list)) al fondo del codice:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )my_list = list(df)print (my_list)print (type(my_list))
Sarai quindi in grado di confermare che hai una lista:
In alternativa, è possibile applicare il secondo approccio aggiungendo my_list = df.colonna.valore.tolist () al codice:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )my_list = df.columns.values.tolist()print (my_list)print (type(my_list))
Come prima, ora otterrai la lista con i nomi delle colonne:
Quale approccio dovresti scegliere?
A seconda delle tue esigenze, potresti richiedere di utilizzare l’approccio più veloce.
Quindi quale approccio è il più veloce?
Controlliamo il tempo di esecuzione per ciascuna delle opzioni usando il modulo timeit:
(1) Misurare il tempo sotto il primo approccio di my_list = list(df):
from timeit import default_timerimport pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )beginning = default_timer()my_list = list(df)ending = default_timer()print((ending - beginning)*1000)
Quando ho eseguito il codice in Python, ho ottenuto il seguente tempo di esecuzione:
Si potrebbe desiderare di eseguire il codice poche volte per ottenere un migliore senso del tempo di esecuzione.
(2) Ora misuriamo il tempo sotto il secondo approccio di my_list = df.colonna.valore.tolist ():
from timeit import default_timerimport pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )beginning = default_timer()my_list = df.columns.values.tolist()ending = default_timer()print((ending - beginning)*1000)
Come puoi vedere, il secondo approccio è in realtà più veloce rispetto al primo approccio:
Nota che il tempo di esecuzione può variare a seconda della tua versione Panda/Python e / o della tua macchina.