Wie kann ich "unpivot" bestimmte Spalten aus ein pandas DataFrame?
Habe ich ein pandas DataFrame, zB:
x = DataFrame.from_dict({'farm' : ['A','B','A','B'],
'fruit':['apple','apple','pear','pear'],
'2014':[10,12,6,8],
'2015':[11,13,7,9]})
ie:
2014 2015 farm fruit
0 10 11 A apple
1 12 13 B apple
2 6 7 A pear
3 8 9 B pear
Wie kann ich es konvertieren um dieses: ?
farm fruit value year
0 A apple 10 2014
1 B apple 12 2014
2 A pear 6 2014
3 B pear 8 2014
4 A apple 11 2015
5 B apple 13 2015
6 A pear 7 2015
7 B pear 9 2015
Habe ich versucht stack
und unstack
aber nicht in der Lage, damit es funktioniert.
Dank!
- Schmelzen ist ein toller name für diese Funktion
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese kann getan werden, mit
pd.melt()
:Ergebnis:
Ich bin mir nicht sicher, wie verbreitet "melt" ist, wie der name für diese Art von operation, aber das ist, was es heißt in R
reshape2
- Paket, das wahrscheinlich inspiriert den Namen hier.