Obtenez une liste de tous les noms de colonnes dans Pandas DataFrame
Voici deux approches pour obtenir une liste de tous les noms de colonnes dans Pandas DataFrame :
Première approche :
my_list = list(df)
Deuxième approche :
my_list = df.columns.values.tolist()
Plus tard, vous verrez également quelle approche est la plus rapide à utiliser.
L’exemple
Pour commencer avec un exemple simple, créons une trame de données avec 3 colonnes:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )print (df)
Une fois que vous avez exécuté le code ci-dessus, vous verrez la trame de données suivante avec les 3 colonnes:
En utilisant list(df) pour Obtenir la Liste de tous les Noms de colonnes dans la trame de données Pandas
Vous pouvez utiliser la première approche en ajoutant my_list=list(df) au code:
import pandas as pddata = {'First_Name': , 'Last_Name': , 'Age': }df = pd.DataFrame(data, columns = )my_list = list(df)print (my_list)
Vous verrez maintenant la liste qui contient les 3 noms de colonnes:
En option, vous pouvez rapidement vérifier que vous avez une liste en ajoutant print(type(my_list)) au bas du code:
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))
Vous pourrez alors confirmer que vous avez une liste:
En utilisant my_list=df.colonne.valeur.tolist() pour obtenir la Liste de tous les noms de colonnes dans Pandas DataFrame
Alternativement, vous pouvez appliquer la deuxième approche en ajoutant my_list=df.colonne.valeur.tolist() au code:
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))
Comme auparavant, vous obtiendrez maintenant la liste avec les noms des colonnes:
Quelle approche devriez-vous choisir?
Selon vos besoins, vous devrez peut-être utiliser l’approche plus rapide.
Alors quelle approche est la plus rapide?
Vérifions le temps d’exécution de chacune des options à l’aide du module timeit:
(1) Mesurer le temps sous la première approche de 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)
Lorsque j’ai exécuté le code en Python, j’ai obtenu le temps d’exécution suivant:
Vous pouvez exécuter le code quelques fois pour avoir une meilleure idée du temps d’exécution.
(2) Mesurons maintenant le temps sous la deuxième approche de my_list=df.colonne.valeur.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)
Comme vous pouvez le voir, la deuxième approche est en fait plus rapide par rapport à la première approche:
Notez que le temps d’exécution peut varier en fonction de votre version Pandas / Python et/ ou de votre machine.