Maison >développement back-end >Tutoriel Python >Comment puis-je diviser efficacement une colonne de dictionnaires Pandas en colonnes distinctes ?
Un DataFrame contient une colonne de dictionnaires qui doit être décomposée en colonnes séparées. Bien que les dictionnaires soient constitués des trois mêmes clés (« a », « b » et « c ») apparaissant dans le même ordre, leur longueur peut varier. Une solution de travail précédente utilisant pandas.concat() échoue désormais avec une IndexError.
Le problème vient du fait que les données sont codées sous forme de chaînes Unicode au lieu d'objets de dictionnaire. Pour résoudre ce problème :
Utilisez ast.literal_eval() pour convertir les chaînes Unicode :
Avant d'appliquer json_normalize, convertissez les chaînes Unicode en dictionnaires à l'aide de ast.literal_eval() :
import ast df['Pollutant Levels'] = df['Pollutant Levels'].apply(ast.literal_eval)
Normaliser JSON à l'aide de json_normalize :
Utilisez pandas.json_normalize() pour diviser la colonne des dictionnaires en colonnes distinctes :
df2 = pd.json_normalize(df['Pollutant Levels'])
Cette solution évite l'utilisation de fonctions d'application coûteuses et offre une approche plus efficace et plus robuste.
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!