我有两个数据框-DataFrameA和DataFrameB
数据框
ID ColA ColB ColC
1 12 23 40
2 21 24 45
3 23 31 50
数据框
ID ColA ColB ColC
1 21 23 40
2 20 44 45
3 29 51 70
4 49 51 70
我想要这样的输出DataFrame,
在变量=“ BBBBB”中声明的DataFrame B列的前缀
数据框
ID ColA BBBBB.ColA ColB BBBBB.ColB ColC BBBBB.ColC
1 12 21 23 23 40 40
2 21 20 24 44 45 45
3 23 29 31 51 50 70
我正在数据框架A和数据框架B之间进行内部联接,然后按顺序对列进行排序。
DataFrameA和DataFrameB是熊猫数据帧。因此,首选熊猫方法。
最佳答案
使用
yourdf=dfa.merge(dfb.add_prefix('BBBBB.'),left_on='ID',right_on='BBBBB.ID')
yourdf
Out[219]:
ID ColA ColB ... BBBBB.ColA BBBBB.ColB BBBBB.ColC
0 1 12 23 ... 21 23 40
1 2 21 24 ... 20 44 45
2 3 23 31 ... 29 51 70
[3 rows x 8 columns]
如果需要重新订购
yourdf.reindex(columns=sorted(yourdf.columns,key=lambda x : x.split('.')[-1]))
关于python - Python-更改列名称,合并和重新排序数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54352837/