首页 > 解决方案 > 熊猫:将列和行信息重塑为单独的列

问题描述

使用python pandas,我想转换以下数据(帧)......

A1 - A2 - A3
10 - 30 - 50
11 - 31 - 51
12 - 32 - 52

像...

Ro - Co - Value
R1 - A1 - 10
R1 - A2 - 30
R1 - A3 - 50
R2 - A1 - 11
R2 - A2 - 31
R2 - A3 - 51
R3 - A1 - 12
R3 - A2 - 32
R3 - A3 - 52

换句话说,原始行应该在单独的列中表示,原始列也应该在单独的列中表示,并且原始值应该在单独的列中表示所有组合。

任何帮助表示赞赏!

PS:抱歉标题选择不佳。如果有改进的建议,请告诉我。

标签: pythonpandas

解决方案


使用.melt

df.reset_index().melt(id_vars='index')

   index   variable  value
0      0       A1     10
1      1       A1     11
2      2       A1     12
3      0       A2     30
4      1       A2     31
5      2       A2     32
6      0       A3     50
7      1       A3     51
8      2       A3     52

推荐阅读