Heim >Backend-Entwicklung >Python-Tutorial >Wie wandelt man einen breiten Pandas-DataFrame in ein langes Format mit Werten um, die Variablen und Datumsangaben darstellen?
Umformung aus breiten Daten:
Im Bereich der Datenmanipulation ist die Umformung eines breiten Datensatzes in einen langen Datensatz eine entscheidende Operation für Daten Integration und Analyse. Stellen Sie sich das folgende Szenario vor:
Sie haben einen Datenrahmen in Pandas mit Tageswerten für die Variablen AA, BB und CC, indiziert nach Datum.
+---------+----+----+----+ | date | AA | BB | CC | +---------+----+----+----+ | 05/03 | 1 | 2 | 3 | | 06/03 | 4 | 5 | 6 | | 07/03 | 7 | 8 | 9 | | 08/03 | 5 | 7 | 1 | +---------+----+----+----+
Sie möchten diese Daten in a umwandeln Format, in dem jede Zeile eine Variable und ein Datum darstellt, wie unten dargestellt:
+------+---------+--------+ | var | date | value | +------+---------+--------+ | AA | 05/03 | 1 | | AA | 06/03 | 4 | | AA | 07/03 | 7 | | AA | 08/03 | 5 | | BB | 05/03 | 2 | | BB | 06/03 | 5 | | BB | 07/03 | 8 | | BB | 08/03 | 7 | | CC | 05/03 | 3 | | CC | 06/03 | 6 | | CC | 07/03 | 9 | | CC | 08/03 | 1 | +------+---------+--------+
Diese Umstrukturierung ist eine typische Aufgabe bei der Datenintegration und ermöglicht es Ihnen, diesen Datenrahmen mit einem anderen mit übereinstimmenden Daten und anfänglichen Spaltennamen zusammenzuführen ( AA, BB, CC).
Methode: Pandas' Melt-Funktion
Glücklicherweise bietet pandas eine unkomplizierte Methode zur Durchführung dieser Transformation: pandas.melt oder DataFrame.melt . Hier ist ein Beispiel:
import pandas as pd df = pd.DataFrame({ 'date' : ['05/03', '06/03', '07/03', '08/03'], 'AA' : [1, 4, 7, 5], 'BB' : [2, 5, 8, 7], 'CC' : [3, 6, 9, 1] }) df.set_index('date', inplace=True) dfm = df.reset_index().melt(id_vars='date')
Dadurch wird Ihr Datenrahmen in das gewünschte Langformat umgewandelt:
date variable value 0 05/03 AA 1 1 06/03 AA 4 2 07/03 AA 7 3 08/03 AA 5 4 05/03 BB 2 5 06/03 BB 5 6 07/03 BB 8 7 08/03 BB 7 8 05/03 CC 3 9 06/03 CC 6 10 07/03 CC 9 11 08/03 CC 1
Das obige ist der detaillierte Inhalt vonWie wandelt man einen breiten Pandas-DataFrame in ein langes Format mit Werten um, die Variablen und Datumsangaben darstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!