重塑数据框以显示排名的变化

时间:2019-05-20 11:47:12

标签: python pandas

         2010 2011 2012
     1   a    b   c 
     2   b    c   a
     3   c    a   b

假设我有一个如上所述的数据框, 该指数是排名(2010年排名第一)。 我想重塑数据框,例如

    2010 2011 2012
a    1     3    2
b    2     1    3
c

,以便这些值成为排名。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果每行可能具有唯一值,请将DataFrame.meltDataFrame.pivot结合使用:

df = df.reset_index().melt('index').pivot('value','variable','index')
print (df)
variable  2010  2011  2012
value                     
a          1.0   3.0   2.0
b          2.0   1.0   3.0
c          3.0   2.0   1.0