Ответ 1
Это можно сделать с помощью pd.melt()
:
# value_name is 'value' by default, but setting it here to make it clear
pd.melt(x, id_vars=['farm', 'fruit'], var_name='year', value_name='value')
Результат:
farm fruit year value
0 A apple 2014 10
1 B apple 2014 12
2 A pear 2014 6
3 B pear 2014 8
4 A apple 2015 11
5 B apple 2015 13
6 A pear 2015 7
7 B pear 2015 9
[8 rows x 4 columns]
Я не уверен, как обычный "расплав" - это имя для такого рода операций, но то, что он назвал в пакете R reshape2
, который, вероятно, вдохновил имя здесь.