Heim >Backend-Entwicklung >Python-Tutorial >Wie kann die „Melt'-Funktion von Pandas Daten mit Datumsspalten in Zeilen umformen?

Wie kann die „Melt'-Funktion von Pandas Daten mit Datumsspalten in Zeilen umformen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-30 11:02:14470Durchsuche

How Can Pandas' `melt` Function Reshape Data with Date Columns into Rows?

Spalten in Zeilen mit Pandas konvertieren

Wenn Tabellendaten Datumsangaben als Spaltenüberschriften enthalten, kann das Konvertieren dieser Spalten in Zeilen mit entsprechenden Werten eine wertvolle Aufgabe sein. Um diese Transformation zu erreichen, bietet die Pandas-Bibliothek von Python eine praktische Lösung.

Problem

Der bereitgestellte Datensatz weist eine Struktur auf, in der Informationen nach Standort für verschiedene Daten gruppiert sind, die jeweils durch eine eigene Spaltenüberschrift dargestellt werden. Das Ziel besteht darin, diese Daten in ein Format umzuwandeln, in dem jede Zeile einen Ort, ein Datum und einen zugehörigen Wert darstellt.

Lösung

Um die Spalten in Zeilen umzuwandeln, stellt Pandas die Schmelzfunktion bereit. Mit dieser Funktion können wir angeben, welche Spalten als Spaltenüberschriften und welche als Zeilenüberschriften dienen sollen. In diesem Zusammenhang werden Name und Ort als Zeilenüberschriften festgelegt und die Datumsüberschriften werden in einer einzigen Datumsspalte zusammengeführt, während ihre Werte zur Wertspalte werden.

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")

Der resultierende DataFrame ähnelt dem erwartete Ausgabe:

  location  name        Date  Value
0        A  "test"    Jan-2010     12
1        B   "foo"    Jan-2010     18
2        A  "test"    Feb-2010     20
3        B   "foo"    Feb-2010     20
4        A  "test"  March-2010     30
5        B   "foo"  March-2010     25

Bei älteren Versionen von Pandas (<0,20) kann eine Kombination aus pd.melt und sorting das gewünschte Ergebnis erzielen Ergebnis:

df2 = pd.melt(df,
                  id_vars=["location", "name"], 
                  var_name="Date",
                  value_name="Value")
df2 = df2.sort(["location", "name"])

Das obige ist der detaillierte Inhalt vonWie kann die „Melt'-Funktion von Pandas Daten mit Datumsspalten in Zeilen umformen?. 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