Comment utiliser la fonction Pandas éclater() (avec exemples)



Vous pouvez utiliser la fonction pandas éclater() pour transformer chaque élément d’une liste en ligne dans un DataFrame.

Cette fonction utilise la syntaxe de base suivante :

df.explode('variable_to_explode')

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

Exemple : utilisez la fonction explosive() avec Pandas DataFrame

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']],
                   'position':['Guard', 'Forward', 'Center'],
                   'points': [7, 14, 19]})

#view DataFrame
df

	team	        position  points
0	[A, B, C]	Guard	  7
1	[D, E, F]	Forward	  14
2	[G, H, I]	Center	  19

Notez que la colonne équipe contient des listes de noms d’équipe.

Nous pouvons utiliser la fonction éclater() pour exploser chaque élément de chaque liste en une ligne :

#explode team column
df.explode('team')

        team	position  points
0	A	Guard	  7
0	B	Guard	  7
0	C	Guard	  7
1	D	Forward	  14
1	E	Forward	  14
1	F	Forward	  14
2	G	Center	  19
2	H	Center	  19
2	I	Center	  19

Notez que la colonne équipe ne contient plus de listes. Nous avons « éclaté » chaque élément de chaque liste en une ligne.

Notez également que certaines lignes ont désormais la même valeur d’index.

Nous pouvons utiliser la fonction reset_index() pour réinitialiser l’index lors de l’éclatement de la colonne team :

#explode team column and reset index of resulting dataFrame
df.explode('team').reset_index(drop=True)

	team	position  points
0	A	Guard	  7
1	B	Guard	  7
2	C	Guard	  7
3	D	Forward	  14
4	E	Forward	  14
5	F	Forward	  14
6	G	Center	  19
7	H	Center	  19
8	I	Center	  19

Notez que chaque ligne a désormais une valeur d’index unique.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment diviser une colonne de chaîne dans Pandas en plusieurs colonnes
Comment diviser le DataFrame Pandas en plusieurs DataFrames
Comment diviser le DataFrame Pandas par valeur de colonne

Ajouter un commentaire

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