首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较两个pandas数据帧并返回将它们相互映射的索引?

如何比较两个pandas数据帧并返回将它们相互映射的索引?
EN

Stack Overflow用户
提问于 2020-10-29 02:18:53
回答 1查看 74关注 0票数 0

我有两个数据帧,df1和df2。这些数据框中有一些3-10列的重叠数据,但我知道前两列不匹配。如何使用模式df1.col1、df1.col2、df2.col1、df2.col2迭代两个数据帧并创建第三个数据帧?

在SQL中,我会使用第3到第10列作为键进行连接,然后select语句将只返回每个表的前两列-但我不知道如何在python中做到这一点。我的“直觉”是用伪代码遍历数据框架:

代码语言:javascript
复制
for line1 in df1:
   for line2 in df2:
      if(line1[:3]==line2[:3]):
         write_to_file_1(line1[2:], line2[2:])
      else
         write_to_a_file(nomatch_file1, line1)
         write_to_a_file(nomatch_file2, line2)

但我不能让它起作用。

以下是一些示例数据

1,1,多伦多,渥太华,BRAD,DAVIS,JAN,2020 1,2,温哥华,KELOWNA,MICHAEL,JENKINS,2020年2月

第二个数据帧

43,45,多伦多,渥太华,布拉德,戴维斯,2020 44,46,蒙特利尔,哈利法克斯,乔治,康斯坦萨,2019年3月

在本例中,我希望在第二个数据帧的第一行中比较TORONTO、OTTAWA、BRAD、DAVIS、JAN,2020,因此它将返回一个新的元组

1,1,43,45,多伦多,渥太华,布拉德,戴维斯,2020年1月

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 05:03:31

解决方案是使用df1.merge(df2,on='city1','city2',...)

这对我来说是可行的,除非数据类型不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64579012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档