如何将列折叠到pandas中的行元素?

时间:2015-02-14 20:35:54

标签: python numpy pandas

我在pandas中有这样的数据

df = DataFrame(np.random.rand(4,5), columns = list('abcde'))
print df

          a         b         c         d         e
0  0.945686  0.000710  0.909158  0.892892  0.326670
1  0.919359  0.667057  0.462478  0.008204  0.473096
2  0.976163  0.621712  0.208423  0.980471  0.048334
3  0.459039  0.788318  0.309892  0.100539  0.753992

现在我想将此转换为2d数据,将所有列元素折叠为带有标签及其索引的单行

0 a 0.160953  
0 b 0.945261  
0 c 0.979201  
0 d 0.099872  
0 e 0.247445
1 a 0.919359  
1 b 0.667057  
1 c 0.462478  
1 d 0.008204  
1 d 0.473096
...
...
3 e 0.753992

1 个答案:

答案 0 :(得分:2)

df.unstack()会将列标签移动到索引级别。如果您希望它们作为列而不是索引级别,则可以执行df.unstack().reset_index()