pandas - 转换数据框列并保留原始数据
问题描述
如果我有一个包含 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
解决方案
在右侧使用join
with :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
推荐阅读
- c++ - 什么时候不调用被覆盖的虚函数
- c++ - 将值从数组修改为另一个时输出不正确
- corda - Corda 4 - 通过特定的 transactionid 查询 vault
- javascript - 如何使用 Kendo 禁用和启用复选框
- android - React Native libhermes.so Android
- vba - InStr(VBA 函数)找不到 vbCrLf
- javascript - 从服务器获取数据,保存在“状态”中,然后在卡片上显示“react-trello”
- uima - 对于 ConceptMapper:如何在规范属性中包含 & 符号?还是我需要将其扩展为等效单词?
- javascript - 基于距离向顶点添加点(网格几何)
- apache-kafka - kafka connect avro 找不到适合 jdbc 的驱动程序:mysql://127.0.0.1:3306/connect_test