为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫合并匹配不同的行

熊猫合并匹配不同的行

MMMHUHU 2021-10-19 10:31:47
我有两个数据框,其中旧版本和新版本中的某些项目(a、b、c...)名称以不同的顺序排列。这里 old_a 和 new_a 是不同的词(示例old_a='cat', new_a='dog')。非常简化;我想得到下面的数据框;我可以通过以下方式找到相应的索引df= pd.merge(df1.reset_index(), df2.reset_index(), on=['names'])但这给了我下面的 df,我如何从这里到所需的上面的数据框?
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

你应该使用pd.concat:


In [829]: df1

Out[829]: 

   names

0  old_a

1  old_b

2  old_c

3  old_d


In [828]: df2

Out[828]: 

   names

0  new_a

1  new_b

2  new_c

3  new_d


In [830]: df = pd.concat([df1.rename(columns={'names':'old_names'}),df2.rename(columns={'names':'new_names'})], axis=1)


In [833]: df

Out[833]: 

  old_names new_names

0     old_a     new_a

1     old_b     new_b

2     old_c     new_c

3     old_d     new_d


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号