我如何转换Pandas排名表?

2024-04-19 11:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

为了便于解释,让我把问题简化一下

我有一个数据帧表,格式如下:

   a  b  c
0  1  3  2
1  3  1  2
2  3  2  1

每行中的数字表示列的等级。 例如,第一行的顺序是{a,c,b}

如何将上面的内容转换为下面的内容

   1  2  3
0  a  c  b
1  c  a  b
2  c  b  a

我整天在谷歌上搜索。但我直到现在才找到解决办法


Tags: 数据内容顺序格式数字解决办法
1条回答
网友
1楼 · 发布于 2024-04-19 11:26:05

看起来您只是将一个值映射到另一个值并重命名列,例如:

>>> df = pd.DataFrame({'a':[1,3,3], 'b':[3,1,2], 'c':[2,2,1]})
>>> df = df.applymap(lambda x: df.columns[x-1])
>>> df.columns = [1,2,3]
>>> df
   1  2  3
0  a  c  b
1  c  a  b
2  c  b  a

相关问题 更多 >