Spalten verschachtelter Wörterbücher in Pandas mit json_normalize aufteilen
In Python kann es bei der Arbeit mit Pandas DataFrames vorkommen, dass die Die letzte Spalte enthält verschachtelte Wörterbücher. Das Extrahieren dieser Werte in separate Spalten kann schwierig sein, wenn die Wörterbücher nicht die gleiche Länge haben.
In diesem Artikel wird eine Lösung mit der Funktion json_normalize() vorgestellt. Hier ist ein Beispiel:
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)
Ausgabe:
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
Dieser Ansatz extrahiert die verschachtelten Wörterbuchwerte effektiv in separate Spalten und löst so das Problem unterschiedlicher Wörterbuchlängen. Die Funktion json_normalize() konvertiert die verschachtelten JSON-Daten effizient in ein Tabellenformat, sodass keine komplexen Apply-Funktionen erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte Wörterbuchspalten in Pandas-DataFrames mit ungleicher Länge effizient aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!