当前df:
| 周|销售|收入|
| - -----|- -----|- -----|
| 1|三十四|五十六|
| 2|四十二|五十七|
| 3|二十个|六|
我尝试得到以下结构:
| 周|技术参数|共计|
| - -----|- -----|- -----|
| 1|销售|三十四|
| 1|收入|五十六|
| 2|销售|四十二|
| 2|收入|五十七|
| 3|销售|二十个|
| 3|收入|六|
我已经尝试了下面的方法,但是I 'values'只接受一列。
pivot = pd.pivot_table(df1, values = 'Sales', index=['Week','Revenue'], columns = 'Week').reset_index
2条答案
按热度按时间fae0ux8s1#
只需使用
melt
,即pivot的逆操作。https://pandas.pydata.org/docs/user_guide/reshaping.html#reshaping-by-melt
请注意,
stack
也在执行类似的操作(unstack类似于pivot
)。但是stack/unstack
仅仅依赖于(多)索引来理解您想要做什么,而melt/pivot更易于配置。kx5bkwkv2#
另一种可能的解决方案:
或者,
输出: