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!