Ein DataFrame enthält eine Spalte mit Wörterbüchern, in die unterteilt werden muss separate Spalten. Die Wörterbücher bestehen zwar aus denselben drei Schlüsseln („a“, „b“ und „c“), die in derselben Reihenfolge erscheinen, können jedoch in der Länge variieren. Eine frühere funktionierende Lösung mit pandas.concat() schlägt jetzt mit einem IndexError fehl.
Das Problem entsteht dadurch, dass die Daten als Unicode-Strings statt als Wörterbuchobjekte codiert werden. Um dieses Problem zu beheben:
Verwenden Sie ast.literal_eval(), um Unicode-Zeichenfolgen zu konvertieren:
Bevor Sie json_normalize anwenden, konvertieren Sie die Unicode-Zeichenfolgen mit in Wörterbücher ast.literal_eval():
import ast df['Pollutant Levels'] = df['Pollutant Levels'].apply(ast.literal_eval)
JSON mit json_normalize normalisieren:
Verwenden Sie pandas.json_normalize(), um die Spalte der Wörterbücher in separate Spalten aufzuteilen :
df2 = pd.json_normalize(df['Pollutant Levels'])
Diese Lösung vermeidet die Verwendung von kostspieligen Anwendungsfunktionen und bietet einen effizienteren und robusteren Ansatz.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Pandas-Wörterbuchspalte effizient in separate Spalten aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!