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
,以便这些值成为排名。 我该怎么办?
答案 0 :(得分:0)
如果每行可能具有唯一值,请将DataFrame.melt
与DataFrame.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