Die Aufgabe besteht darin, eine Datentabelle im CSV-Format zu transponieren, in die die Spaltenwerte „Indikator“ umgewandelt werden die neuen Spalten. Das gewünschte Ergebnis ist ein abgeflachtes Format, in dem Zeilen durch „Land“ und „Jahr“ definiert werden und Spalten „Indikator“-Werte sind.
Um den Pivot-Vorgang zu erreichen, kann man die .pivot-Methode als verwenden folgt:
out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
Diese Methode ordnet die Daten so neu an, dass „Land“ und „Jahr“ zu Zeilenindizes und die „Indikator“-Werte zu Spalten werden. Die resultierende „out“-Variable enthält die geschwenkten Daten.
Um die Daten in ein flaches Tabellenformat zurückzubringen, kann man .rename_axis verwenden, um die Bezeichnung „Indikator“ aus den Spalten zu entfernen und .reset_index verwenden, um „Land“ wiederherzustellen. und „Jahr“ als Spalten.
print(out.rename_axis(columns=None).reset_index())
Dies erzeugt eine abgeflachte Tabelle mit den Werten „Land“, „Jahr“ und „Indikator“. Spalten.
Im Falle doppelter Kombinationen aus „Land“, „Jahr“ und „Indikator“ im Originaldatensatz kann .pivot_table dies tun beschäftigt sein. Es führt eine Aggregation (standardmäßig Mittelwert) für doppelte Werte durch.
out = df.pivot_table( index=['Country', 'Year'], columns='Indicator', values='Value') print(out.rename_axis(columns=None).reset_index())
Dieser Ansatz führt zu einer abgeflachten Tabelle, in der doppelte Werte gemittelt werden und die Bezeichnung „Indikator“ in den Spalten weggelassen wird.
Weitere Details zum Umformen und Pivot-Tabellen in Pandas finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWie transformiere ich eine Datentabelle in Pandas, wobei die Spaltenwerte „Indikator' zu neuen Spalten werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!