Få en liste over alle kolonnenavne i Pandas DataFrame
Her er to tilgange til at få en liste over alle kolonnenavne i Pandas DataFrame:
første tilgang:
my_list = list(df)
anden tilgang:
my_list = df.columns.values.tolist()
senere vil du også se, hvilken tilgang der er er den hurtigste at bruge.
eksemplet
for at starte med et simpelt eksempel, lad os oprette en DataFrame med 3 kolonner:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )print (df)
Når du har kørt ovenstående kode, vil du se følgende DataFrame med de 3 kolonner:
Du kan bruge den første tilgang ved at tilføje my_list = list(df) til koden:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )my_list = list(df)print (my_list)
du vil nu se listen, der indeholder de 3 kolonnenavne:
Valgfrit kan du hurtigt bekræfte, at du har en liste ved at tilføje Print (type(my_list)) til bunden af koden:
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))
Du kan derefter bekræfte, at du har en liste:
Alternativt kan du anvende den anden tilgang ved at tilføje my_list = DF.kolonner.værdi.tolist () til koden:
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))
som før får du nu listen med kolonnenavne:
hvilken tilgang skal du vælge?
afhængigt af dine behov kan du muligvis bruge den hurtigere tilgang.
så hvilken tilgang er den hurtigste?
lad os kontrollere udførelsestiden for hver af indstillingerne ved hjælp af timeit-modulet:
(1) Måling af tiden under den første tilgang til 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)
da jeg kørte koden i Python, fik jeg følgende udførelsestid:
du ønsker måske at køre koden få gange for at få en bedre fornemmelse af udførelsestiden.
(2) Lad os nu måle tiden under den anden tilgang af my_list = DF.kolonner.værdi.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)
som du kan se, er den anden tilgang faktisk hurtigere sammenlignet med den første tilgang:
Bemærk, at udførelsestiden kan variere afhængigt af din Pandas/Python-version og/eller din maskine.