熊猫(Python)按行嵌套列

时间:2018-07-19 14:07:32

标签: python pandas pivot-table pandas-groupby

我想将图像的结构重组为图像的左侧,如图像的右侧。每行成为层次结构的最高级别,每列作为更高层次结构的嵌套方面。

enter image description here

我曾尝试使用stack,groupby和ivot_table来实现这一目标,但是却很挣扎。

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

IIUC,

df =pd.DataFrame({'A':['a{}'.format(i) for i in range(1,6)], 
                  'B':['b{}'.format(i) for i in range(1,6)], 
                  'C':['c{}'.format(i) for i in range(1,6)], 
                  'D':['d{}'.format(i) for i in range(1,6)], 
                  'E':['e{}'.format(i) for i in range(1,6)]},
                  index=range(1,6))

    A   B   C   D   E
1   a1  b1  c1  d1  e1
2   a2  b2  c2  d2  e2
3   a3  b3  c3  d3  e3
4   a4  b4  c4  d4  e4
5   a5  b5  c5  d5  e5

您可以stack

>>> df.stack()
1  A    a1
   B    b1
   C    c1
   D    d1
   E    e1
2  A    a2
   B    b2
   C    c2
   D    d2
   E    e2
3  A    a3
   B    b3
   C    c3
   D    d3
   E    e3
4  A    a4
   B    b4
   C    c4
   D    d4
   E    e4
5  A    a5
   B    b5
   C    c5
   D    d5
   E    e5

unstack

>>> df.unstack()
A  1    a1
   2    a2
   3    a3
   4    a4
   5    a5
B  1    b1
   2    b2
   3    b3
   4    b4
   5    b5
C  1    c1
   2    c2
   3    c3
   4    c4
   5    c5
D  1    d1
   2    d2
   3    d3
   4    d4
   5    d5
E  1    e1
   2    e2
   3    e3
   4    e4
   5    e5