Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Pandas-Wörterbuchspalte effizient in separate Spalten aufteilen?

Wie kann ich eine Pandas-Wörterbuchspalte effizient in separate Spalten aufteilen?

Patricia Arquette
Freigeben: 2024-12-17 22:35:11
Original
540 Leute haben es durchsucht

How Can I Efficiently Split a Pandas Column of Dictionaries into Separate Columns?

Aufteilen einer Spalte mit Wörterbüchern in separate Spalten mit Pandas

Problembeschreibung

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.

Lösung

Das Problem entsteht dadurch, dass die Daten als Unicode-Strings statt als Wörterbuchobjekte codiert werden. Um dieses Problem zu beheben:

  1. 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)
    Nach dem Login kopieren
  2. 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'])
    Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage