Skip to content

Comment convertir un DataFrame Pandas en liste ?

Updated on

En tant que data scientist, vous pouvez rencontrer des situations où vous devez convertir un DataFrame Pandas en liste. Heureusement, cela est assez facile à réaliser en utilisant la fonction tolist(). Dans cet article, nous expliquerons comment convertir un DataFrame en liste en utilisant cette méthode. Nous couvrirons également comment convertir une colonne en liste, comment créer une liste imbriquée et fournirons quelques exemples rapides.

Vous voulez créer rapidement des visualisations de données en Python ?

PyGWalker est un projet Open Source Python qui peut vous aider à accélérer l'analyse des données et le flux de travail de visualisation directement dans un environnement basé sur un carnet Jupyter Notebook.

PyGWalker (opens in a new tab) transforme votre DataFrame Pandas (ou DataFrame Polars) en une interface utilisateur visuelle où vous pouvez faire glisser-déposer des variables pour créer des graphiques facilement. Utilisez simplement le code suivant :

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Vous pouvez exécuter PyGWalker dès maintenant avec ces carnets en ligne :

Et n'oubliez pas de nous donner une ⭐️ sur GitHub !

Exécuter PyGWalker dans un carnet Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Donner une ⭐️ à PyGWalker sur GitHub (opens in a new tab)
Exécuter PyGWalker dans un carnet Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)

Conversion d'un DataFrame en liste

La fonction tolist() est une méthode intégrée dans Pandas qui convertit un DataFrame en liste. Vous appelez simplement cette fonction sur votre DataFrame et elle renvoie une liste.

import pandas as pd
 
# créer un DataFrame d'exemple
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# convertir le DataFrame en liste
liste_a_partir_de_df = df.values.tolist()
print(liste_a_partir_de_df)

Ce code produira la sortie suivante :

[[1, 'a'], [2, 'b'], [3, 'c']]

Comme vous pouvez le voir, la fonction tolist() renvoie une liste de listes, où chaque liste interne correspond à une ligne du DataFrame. Les valeurs sont ordonnées par colonne et chaque valeur est du type que Pandas infère à partir des valeurs de la colonne.

Conversion d'une colonne en liste

Il y a aussi des situations où vous voudrez simplement convertir une colonne spécifique d'un DataFrame en liste. Voici comment faire :

import pandas as pd
 
# créer un DataFrame d'exemple
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# convertir la colonne 'numbers' en liste
liste_a_partir_de_colonne = df['numbers'].tolist()
print(liste_a_partir_de_colonne)

Ce code produira la sortie suivante :

[1, 2, 3]

Comme vous pouvez le voir, la fonction tolist() est utilisée sur une colonne spécifique et elle renvoie une liste avec uniquement les valeurs de cette colonne.

Création d'une liste imbriquée

Dans certaines situations, vous devrez peut-être créer une liste imbriquée à partir d'un DataFrame. Par exemple, vous pouvez souhaiter une liste de tuples pour chaque ligne au lieu d'une liste de listes. Voici comment faire :

import pandas as pd
 
# créer un DataFrame d'exemple
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# créer une liste imbriquée
liste_imbriquee = [tuple(x) for x in df.to_records(index=False)]
print(liste_imbriquee)

Ce code produira la sortie suivante :

[(1, 'a'), (2, 'b'), (3, 'c')]

Comme vous pouvez le voir, nous avons utilisé une compréhension de liste pour créer une liste de tuples à partir du DataFrame. Cela peut être utile si vous devez transmettre vos données à une fonction qui attend une certaine structure de données.

Exemples rapides

Voici quelques exemples rapides de conversion d'un DataFrame en liste :

import pandas as pd
 
# créer un DataFrame d'exemple
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# convertir le DataFrame en liste (méthode 1)
liste_a_partir_de_df1 = df.values.tolist()
 
# convertir le DataFrame en liste (méthode 2)
liste_a_partir_de_df2 = [list(x) for x in df.values]
 
# convertir la colonne 'numbers' en liste
liste_a_partir_de_colonne = df['numbers'].tolist()
 
# créer une liste imbriquée
liste_imbriquee = [tuple(x) for x in df.to_records(index=False)]

Dans le premier exemple, nous avons utilisé la fonction tolist() pour convertir le DataFrame en une liste de listes.

Dans le deuxième exemple, nous avons utilisé une compréhension de liste pour obtenir le même résultat.

Dans le troisième exemple, nous avons utilisé la fonction tolist() sur une colonne spécifique pour la convertir en une liste.

Et dans le quatrième exemple, nous avons utilisé une compréhension de liste pour créer une liste imbriquée de tuples.

Conclusion

La conversion d'un DataFrame Pandas en liste est une tâche courante en science des données. Heureusement, c'est aussi assez simple en utilisant la fonction tolist(). Que vous ayez besoin de convertir l'ensemble du DataFrame en liste, une colonne spécifique en liste, ou créer une liste imbriquée, cette fonction vous couvre. Avec les exemples fournis dans cet article, vous serez en mesure d'accomplir rapidement et facilement cette tâche dans vos propres projets.