Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Pandas DataFrame-Spalte mit Wörterbüchern effizient in separate Spalten aufteilen?

Wie kann ich eine Pandas DataFrame-Spalte mit Wörterbüchern effizient in separate Spalten aufteilen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-16 21:10:14172Durchsuche

How can I efficiently split a Pandas DataFrame column of dictionaries into separate columns?

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

Bei der Arbeit mit Datenrahmen in Pandas stößt man häufig auf Spalten, die Wörterbücher enthalten Werte. Die Aufteilung dieser Spalten in einzelne Spalten kann die Organisation und Zugänglichkeit der Daten verbessern.

Berücksichtigen Sie den folgenden DataFrame:

Station ID     Pollutants
8809           {"a": "46", "b": "3", "c": "12"}
8810           {"a": "36", "b": "5", "c": "8"}
8811           {"b": "2", "c": "7"}
8812           {"c": "11"}
8813           {"a": "82", "c": "15"}

Um die Spalte „Schadstoffe“ in separate „a“, „b“, und „c“-Spalten können Sie die in Pandas Version 0.23.0 eingeführte Funktion json_normalize verwenden:

import pandas as pd

df2 = pd.json_normalize(df['Pollutants'])

Dieser Ansatz ist effizient und vermeidet die Verwendung potenziell kostspieliger Apply-Funktionen. Der resultierende DataFrame df2 sieht folgendermaßen aus:

Station ID     a      b       c
8809           46     3       12
8810           36     5       8
8811           NaN    2       7
8812           NaN    NaN     11
8813           82     NaN     15

Beachten Sie, dass der resultierende DataFrame Nullwerte (NaN) für fehlende Wörterbuchschlüssel enthält. Um diese Fälle zu behandeln, können Sie die Fillna-Methode verwenden, um fehlende Werte durch Standardwerte zu ersetzen oder benutzerdefinierte Logik anzuwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Pandas DataFrame-Spalte mit Wörterbüchern effizient in separate Spalten aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Tag – String-FunktionenNächster Artikel:Tag – String-Funktionen