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
Freigeben: 2024-12-30 11:02:14
Original
490 Leute haben es durchsucht

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")
Nach dem Login kopieren

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
Nach dem Login kopieren

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"])
Nach dem Login kopieren

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!

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