首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个pandas数据帧中查找匹配值,并从匹配行中返回一个值

在两个pandas数据帧中查找匹配值,并从匹配行中返回一个值
EN

Stack Overflow用户
提问于 2019-01-22 06:18:58
回答 1查看 504关注 0票数 1

很难用一种清晰准确的方式来表达这个问题,所以希望下面的内容能帮助我更好地理解我的问题。

我有两个pandas数据帧,在这个例子中简化了,它们是:

代码语言:javascript
复制
df1 = 
'CENSUS_ID'  
60014001001
60014002001

df2 = 
'GEO_ID'    'MED_INCOME'
60014001001   177417
60014002001   166313
60014002002   132400
60014003001   161964

我想在df1中添加一个名为'MED_INCOME‘的列,方法是在df2中查找匹配的GEO_ID并返回'MED_INCOME’值。虽然这些数据帧被简化了,但df1的实际镜头可能有几百行长,而df2的镜头可能有数万行长。因此,虽然我可以很容易地将其设置为遍历以查找匹配项,但它并不理想,因为它非常慢。我想使用pandas apply(),因为它似乎要快得多,或者可能还有其他解决方案,但我很难弄清楚其中的逻辑,因为仍然有很多我不熟悉或不知道的熊猫“技巧”。也许从df2中删除不匹配的列比添加到df1中更容易,但我就是不知道。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-22 06:23:50

您可以进行左合并(左外部联接)。这将保留df1中的所有观察值,同时将其与df2中的GEO_ID进行匹配

代码语言:javascript
复制
df1.merge(df2, left_on='CENSUS_ID', right_on='GEO_ID', how='left')
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54298535

复制
相关文章

相似问题

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