Maison >développement back-end >Tutoriel Python >Comment exploser des listes dans des DataFrames Pandas ?
Chez les pandas, vous peut rencontrer des trames de données avec des cellules contenant des listes de valeurs multiples. Au lieu de stocker plusieurs valeurs dans une seule cellule, il peut être avantageux d'étendre le cadre de données afin que chaque élément de la liste occupe sa propre ligne.
Pandas version 0.25 et supérieure introduisent le .explode() méthode pour Series et DataFrame. Cette méthode sépare efficacement les éléments de la liste en lignes distinctes.
Pour exploser une colonne, utilisez simplement la syntaxe suivante :
df.explode('column_name')
Par exemple, considérons le dataframe suivant :
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)] } )
Pour exploser la colonne « échantillons », nous utiliserions :
df_exploded = df.explode('samples')
Cela produirait le résultat souhaité sortie :
subject trial_num samples 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 1 3 1.18 # etc.
La méthode .explode() peut gérer des colonnes mixtes de listes et de scalaires, ainsi que des listes vides et des NaN. Cependant, il est important de noter que il ne peut exploser qu'une seule colonne à la fois.
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!