Maison >développement back-end >Tutoriel Python >Comment diviser efficacement une colonne de dictionnaires Pandas en colonnes distinctes ?
Comment diviser une colonne Pandas de dictionnaires en colonnes séparées
Dans un DataFrame Pandas, il est possible de rencontrer une colonne contenant des dictionnaires. Pour extraire les valeurs de ces dictionnaires dans des colonnes individuelles, la fonction json_normalize est une solution efficace.
Le code suivant démontre le processus :
import pandas as pd df = pd.DataFrame() # Your existing DataFrame with the dictionary column df2 = pd.json_normalize(df['Pollutant Levels'])
Cela créera un nouveau DataFrame df2 avec le les valeurs de la colonne du dictionnaire « Niveaux de pollution » sont divisées en colonnes distinctes.
Gestion de différentes longueurs Listes :
L'exigence fournie précise que toutes les listes des dictionnaires contiennent les trois mêmes clés (« a », « b », « c ») mais pas nécessairement la même longueur. Pour cela, le code utilise json_normalize, qui gère automatiquement les longueurs de liste de variables en complétant les valeurs manquantes avec NaN.
Résolution du problème Unicode :
Si les valeurs du dictionnaire sont au format Unicode (u{'a' : '1', 'b' : '2', 'c' : '3'} au lieu de {u'a' : '1', u'b' : '2', u'c' : '3'}), le code fonctionnera toujours correctement. json_normalize peut gérer les deux types de chaînes Unicode.
Exemple avec Unicode :
Pour les données importées d'une base de données PostgreSQL au format Unicode :
import pandas as pd # Convert the Unicode strings to strings df['Pollutant Levels'] = df['Pollutant Levels'].astype('unicode') # Use json_normalize to split the dictionary column df2 = pd.json_normalize(df['Pollutant Levels'])
Cela convertira les chaînes Unicode en chaînes normales, puis divisera la colonne du dictionnaire en colonnes distinctes.
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!