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:
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:
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:
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:
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:
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:
Observera att körningstiden kan variera beroende på din Pandas/Python-version och/eller din maskin.