将数据框行设为索引

时间:2017-04-15 21:54:23

标签: python pandas

我有一个类似的数据框:

 country  indicator y1  y2    y3   y4
0   abc    a       0.1  0.1   0.1   0.1
1   abc    b       0.1  0.2   0.4   0.1
2   wed    a       0.1  0.1   0.1   0.1
3   wed    b       0.7  0.1   0.6   0.1

我需要类似的东西:

 country    y         a    b
0   abc    y1       0.1  0.1
           y2       0.1  0.2 
           y3       0.1  0.1  
           y4       0.7  0.1  
1   wed    y1       0.1  0.1
           y2       0.1  0.2 
           y3       0.1  0.1  
           y4       0.7  0.1  

解决方案指向转置,但我似乎无法根据需要完全转换它们。

1 个答案:

答案 0 :(得分:4)

df.set_index(['country','indicator']).stack().unstack(1)

输出:

indicator     a    b
country             
abc     y1  0.1  0.1
        y2  0.1  0.2
        y3  0.1  0.4
        y4  0.1  0.1
wed     y1  0.1  0.7
        y2  0.1  0.1
        y3  0.1  0.6
        y4  0.1  0.1