Heim >Backend-Entwicklung >Python-Tutorial >Wie forme ich einen Pandas-DataFrame mithilfe der Melt-Funktion und eines Wörterbuchs um?
Pandas Melt Function: Umformen von Datenrahmen für die Analyse
Frage:
Betrachten Sie einen Datenrahmen mit mehrere Spalten und ein Wörterbuch:
df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014]], columns=['Amy', 'Bob', ' Carl“, „Chris“, „Ben“, „Andere“, 'Jahr'])<br>
d = {'A': ['Amy'], 'B': ['Bob', 'Ben'], 'C': ['Carl', 'Chris']}<br>
Wie formen wir den Datenrahmen um? ähneln der folgenden Struktur, in der die Spalten zusammengeführt und gruppiert werden?
Gruppenname Jahr Wert<br> 0 A Amy 2013 2<br> 1 A Amy 2014 9<br> 2 B Bob 2013 4<br> 3 B Bob 2014 2<br> 4 B Ben 2013 1<br> 5 B Ben 2014 5<br> 6 C Carl 2013 7<br> 7 C Carl 2014 4<br> 8 C Chris 2013 8<br> 9 C Chris 2014 5<br>10 Andere 2013 3<br>11 Andere 2014 6<br>
Antwort:
Um den Datenrahmen mithilfe der Schmelzfunktion umzuformen, befolgen Sie diese Schritte:
Schmelzen Sie den Datenrahmen:Schmelzen Sie den Datenrahmen mithilfe der Schmelze in ein breites Format Funktion. Dadurch werden die Spalten in Zeilen umgewandelt, wobei der Parameter id_vars verwendet wird, um die Spalten anzugeben, die intakt bleiben sollen.
m = pd.melt(df, id_vars=['Year'], var_name='Name')
Erstellen Sie ein Zuordnungswörterbuch: Formieren Sie das um dictionary d, um eine Zuordnung zwischen Spaltennamen und Gruppe zu erstellen Namen.
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
'Gruppe' hinzufügen: Ordnen Sie das neu erstellte Wörterbuch d2 der Spalte 'Name' zu, um die Spalte 'Gruppe' hinzuzufügen.
m['Group'] = m['Name'].map(d2)
„Andere“ verschieben: „Andere“-Werte aus verschieben Spalte „Name“ in die Spalte „Gruppe“.
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
Der resultierende Datenrahmen enthält die gewünschte abgeflachte Struktur:
print(m) Year Name value Group 0 2013 Amy 2 A 1 2014 Amy 9 A 2 2013 Bob 4 B 3 2014 Bob 2 B 4 2013 Carl 7 C ... ... ... ... ... 7 2014 Chris 5 C 8 2013 Ben 1 B 9 2014 Ben 5 B 10 2013 3 Other 11 2014 6 Other
Das obige ist der detaillierte Inhalt vonWie forme ich einen Pandas-DataFrame mithilfe der Melt-Funktion und eines Wörterbuchs um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!