Articles

Få en lista över alla kolumnnamn i Pandas DataFrame

här är två tillvägagångssätt för att få en lista över alla kolumnnamn i Pandas DataFrame:

första tillvägagångssättet:

my_list = list(df)

andra tillvägagångssättet:

my_list = df.columns.values.tolist()

senare ser du också vilken metod är snabbast att använda.

exemplet

för att börja med ett enkelt exempel, låt oss skapa en DataFrame med 3 kolumner:

import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )print (df)

När du kör ovanstående kod ser du följande DataFrame med de 3 kolumnerna:

hämta en lista över alla kolumnnamn i Pandas DataFrame

använda list(df) för att få listan över alla kolumnnamn i Pandas DataFrame

Du kan använda den första metoden genom att lägga till my_list = list(df) till koden:

import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )my_list = list(df)print (my_list)

du ser nu listan som innehåller de 3 kolumnnamnen:

lista över alla kolumnnamn i Pandas dataframe

Alternativt kan du snabbt verifiera att du har en lista genom att lägga till Print (typ(my_list)) längst ner i 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 sedan bekräfta att du har en lista:

hämta en lista över alla kolumnnamn i Pandas DataFrame

med my_list = DF.kolumn.värde.tolist () för att få listan över alla kolumnnamn i Pandas DataFrame

Alternativt kan du använda den andra metoden genom att lägga till my_list = df.kolumn.värde.tolist () till 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 tidigare får du nu listan med kolumnnamnen:

hämta en lista över alla kolumnnamn i Pandas DataFrame

vilken metod ska du välja?

beroende på dina behov kan du behöva använda den snabbare metoden.

så vilket tillvägagångssätt är det snabbaste?

låt oss kontrollera exekveringstiden för var och en av alternativen med hjälp av timeit-modulen:

(1) mäta tiden under det första tillvägagångssättet i 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)

När jag körde koden i Python fick jag följande exekveringstid:

mättid

Du kanske vill köra koden några gånger för att få en bättre känsla av exekveringstiden.

(2) Låt oss nu mäta tiden under det andra tillvägagångssättet i my_list = df.kolumn.värde.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 är det andra tillvägagångssättet faktiskt snabbare jämfört med det första tillvägagångssättet:

Mät hastighet

Observera att körningstiden kan variera beroende på din Pandas/Python-version och/eller din maskin.