Maison >développement back-end >Tutoriel Python >Comment puis-je étendre les listes imbriquées dans les DataFrames Pandas en lignes distinctes ?
Démêler les listes imbriquées dans les dataframes Pandas : expansion des lignes
Lorsque vous travaillez avec des données dans les dataframes Pandas, vous pouvez rencontrer des colonnes contenant des listes, potentiellement s'étendant sur plusieurs valeurs. Pour faciliter l'analyse et la manipulation, il devient nécessaire de transformer ces listes en lignes distinctes. Ce processus, connu sous le nom de « formation longue » ou « expansion de ligne », permet à chaque élément de la liste d'occuper sa propre ligne.
Pour y parvenir, Pandas propose une méthode dédiée appelée .explode() , introduit dans la version 0.25. Cette méthode transforme de manière transparente la colonne contenant la liste spécifiée en une série de lignes, chaque élément devenant une ligne indépendante.
Mise en œuvre :
Pour employer le .explode(), spécifiez simplement le nom de la colonne que vous souhaitez développer. Par défaut, il créera de nouvelles lignes pour chaque élément de la colonne, tout en préservant les valeurs dans toutes les autres colonnes.
Par exemple, considérons un dataframe contenant une colonne « échantillons » avec des listes de valeurs :
import pandas as pd import numpy as np df = pd.DataFrame( {'trial_num': [1, 2, 3, 1, 2, 3], 'subject': [1, 1, 1, 2, 2, 2], 'samples': [list(np.random.randn(3).round(2)) for i in range(6)] } )
Application de la méthode .explode() :
df.explode('samples')
Résultats en le dataframe suivant :
subject trial_num sample 0 1 1 0.57 1 1 1 -0.83 2 1 1 1.44 3 1 2 -0.01 4 1 2 1.13 5 1 2 0.36 6 2 1 -0.08 7 2 1 -4.22 8 2 1 -2.05 9 2 2 0.72 10 2 2 0.79 11 2 2 0.53
Comme vous pouvez le constater, chaque élément de la liste a désormais sa propre ligne. Il convient de noter que, bien que la méthode déroule efficacement les listes, elle le fait pour une seule colonne à la fois.
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!