Maison >développement back-end >Tutoriel Python >Comment puis-je diviser efficacement une colonne de dictionnaires Pandas DataFrame en colonnes distinctes ?

Comment puis-je diviser efficacement une colonne de dictionnaires Pandas DataFrame en colonnes distinctes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-16 21:10:14172parcourir

How can I efficiently split a Pandas DataFrame column of dictionaries into separate columns?

Diviser une colonne de dictionnaires en colonnes séparées avec Pandas

Lorsque vous travaillez avec des dataframes dans Pandas, il est courant de rencontrer des colonnes contenant un dictionnaire valeurs. La division de ces colonnes en colonnes individuelles peut améliorer l'organisation et l'accessibilité des données.

Considérez le DataFrame suivant :

Station ID     Pollutants
8809           {"a": "46", "b": "3", "c": "12"}
8810           {"a": "36", "b": "5", "c": "8"}
8811           {"b": "2", "c": "7"}
8812           {"c": "11"}
8813           {"a": "82", "c": "15"}

Pour diviser la colonne "Polluants" en "a", "b", et "c", vous pouvez utiliser la fonction json_normalize introduite dans Pandas version 0.23.0 :

import pandas as pd

df2 = pd.json_normalize(df['Pollutants'])

Ceci Cette approche est efficace et évite l’utilisation de fonctions d’application potentiellement coûteuses. Le DataFrame df2 résultant ressemblera à ceci :

Station ID     a      b       c
8809           46     3       12
8810           36     5       8
8811           NaN    2       7
8812           NaN    NaN     11
8813           82     NaN     15

Notez que le DataFrame résultant contient des valeurs nulles (NaN) pour les clés de dictionnaire manquantes. Pour gérer ces cas, vous pouvez utiliser la méthode fillna pour remplacer les valeurs manquantes par des valeurs par défaut ou appliquer une logique personnalisée.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Jour - Fonctions de chaîneArticle suivant:Jour - Fonctions de chaîne