Comment convertir une ligne Pandas DataFrame en liste (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour convertir une ligne d’un DataFrame pandas en liste :

row_list = df.loc[2, :].values.flatten().tolist()

Cette syntaxe particulière convertit les valeurs de la position 2 de l’index de ligne du DataFrame en une liste.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : convertir la ligne Pandas DataFrame en liste

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6
5    F      11        9         5
6    G      20        9         9
7    H      28        4        12

Nous pouvons utiliser la syntaxe suivante pour convertir les valeurs de la position 2 de l’index de ligne en liste :

#convert row at index 2 to list
row_list = df.loc[2, :].values.flatten().tolist()

#view results
print(row_list)

['C', 19, 7, 10]

Nous pouvons voir que les valeurs de la position 2 de l’index de ligne ont été converties en une liste de quatre valeurs.

Nous pouvons confirmer que le résultat est bien une liste en utilisant la fonction type() :

#view type
print(type(row_list))

<class 'list'>

Si vous souhaitez que seules les valeurs de colonnes spécifiques soient incluses dans la liste, vous pouvez spécifier les colonnes par leur nom.

Par exemple, nous pouvons utiliser la syntaxe suivante pour convertir les valeurs de la position 2 de l’index de ligne en une liste pour les colonnes d’équipe et de points uniquement :

#convert values in row index position 2 to list (for team and points columns)
row_list = df.loc[2, ['team', 'points']].values.flatten().tolist()

#view results
print(row_list)

['C', 19]

Notez que seules les valeurs des colonnes équipe et points ont été incluses dans la liste.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment convertir des colonnes spécifiques dans Pandas en tableau NumPy
Comment convertir une liste en colonne dans Pandas
Comment ajouter une ligne totale au Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *