Heim >Backend-Entwicklung >Python-Tutorial >Wie kann die „Melt'-Funktion von Pandas einen DataFrame mit zusätzlichen Gruppen- und Namensspalten umformen?
Betrachten Sie einen DataFrame df und ein Wörterbuch d. Sie möchten df in eine Tabelle mit zusätzlichen Spalten umwandeln, nämlich Gruppe und Name. Die gewünschte Ausgabe sollte wie folgt aussehen:
Group Name Year Value 0 A Amy 2013 2 1 A Amy 2014 9 2 B Bob 2013 4 3 B Bob 2014 2 4 B Ben 2013 1 5 B Ben 2014 5 6 C Carl 2013 7 7 C Carl 2014 4 8 C Chris 2013 8 9 C Chris 2014 5 10 Other 2013 3 11 Other 2014 6
Um diese Umformung zu erreichen, verwenden wir die Pandas-Schmelzfunktion.
m = pd.melt(df, id_vars=['Year'], var_name='Name')
Dadurch wird ein geschmolzener DataFrame erstellt m mit den Spalten Jahr, Name und Wert. Um die Gruppenspalte hinzuzufügen, formen wir d wie folgt um:
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
Wir ordnen dann d2 m['Name'] zu, um die Gruppenspalte zu füllen.
m['Group'] = m['Name'].map(d2)
Schließlich haben wir Verschieben Sie die „Anderen“ Werte von „Name“ in „Gruppe“:
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
Der resultierende DataFrame m entspricht der gewünschten Ausgabe.
Das obige ist der detaillierte Inhalt vonWie kann die „Melt'-Funktion von Pandas einen DataFrame mit zusätzlichen Gruppen- und Namensspalten umformen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!