如果我有一个包含3列A,B,C的数据框
是否可以获取这些列的排名,但保留原始列。
如此df
A B C
3 4 2
1 2 3
df.add_suffix('_Rank')=df.rank(axis=1)
A B C A_Rank B_Rank C_Rank
3 4 2 2 3 1
1 2 3 1 2 3
答案 0 :(得分:1)
将join
与add_suffix
一起使用在右侧:
df = df.join(df.rank(axis=1).add_suffix('_Rank'))
或在新列的列名称中添加_Rank
:
df[df.columns + '_Rank'] = df.rank(axis=1)
print (df)
A B C A_Rank B_Rank C_Rank
0 3 4 2 2.0 3.0 1.0
1 1 2 3 1.0 2.0 3.0