Diviser les colonnes des dictionnaires imbriqués dans Pandas avec json_normalize
En Python, lorsque vous travaillez avec des DataFrames Pandas, il est possible de rencontrer des cas où le la dernière colonne contient des dictionnaires imbriqués. Pour extraire ces valeurs dans des colonnes séparées, vous pourriez rencontrer des difficultés si les dictionnaires ne sont pas de longueur égale.
Cet article présente une solution utilisant la fonction json_normalize(). Voici un exemple :
import pandas as pd # Sample DataFrame with a column of nested dictionaries df = pd.DataFrame({ 'Station ID': ['8809', '8810', '8811', '8812', '8813'], 'Pollutant Levels': [ {'a': '46', 'b': '3', 'c': '12'}, {'a': '36', 'b': '5', 'c': '8'}, {'b': '2', 'c': '7'}, {'c': '11'}, {'a': '82', 'c': '15'}, ] }) # Extract columns using json_normalize df2 = pd.json_normalize(df['Pollutant Levels']) # Concatenate with original DataFrame df = pd.concat([df, df2], axis=1) # Drop the original 'Pollutant Levels' column df = df.drop(columns=['Pollutant Levels']) print(df)
Sortie :
Station ID a b c 0 8809 46 3 12 1 8810 36 5 8 2 8811 NaN 2 7 3 8812 NaN NaN 11 4 8813 82 NaN 15
Cette approche extrait efficacement les valeurs du dictionnaire imbriquées dans des colonnes séparées, gérant ainsi le problème des longueurs variables du dictionnaire. La fonction json_normalize() convertit efficacement les données JSON imbriquées dans un format tabulaire, éliminant ainsi le besoin de fonctions d'application complexes.
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!