首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于匹配的列值将元素从一个数据from映射到另一个数据

基于匹配的列值将元素从一个数据from映射到另一个数据
EN

Stack Overflow用户
提问于 2019-02-27 19:36:15
回答 1查看 213关注 0票数 0

我有两个数据:

Reference_DF:

代码语言:javascript
复制
root_cause_level3   root_cause_level2   root_cause_level1
NA                  NA                  NA
Natural Disaster    Natural Disaster    Natural Disaster
Other               Other               Other
Communications      Misunderstood       Long Message

Actual_DF:

代码语言:javascript
复制
incident_id        root_cause_level3       root_cause_level2   root_cause_level1
XXXXXXXX-1         Communications       
XXXXXXXX-2         NA       
XXXXXXXX-3         NA       
XXXXXXXX-4         Other        
XXXXXXXX-1         Natural Disaster 

我的目标是将从引用DF映射到实际DF、、level2和level1根源。我想基于匹配level3的根本原因来映射它。我不知道怎么做,对如何解决这个问题有什么建议吗?

预期产出:

代码语言:javascript
复制
incident_id        root_cause_level3       root_cause_level2   root_cause_level1
XXXXXXXX-1         Communications          Misunderstood       Long Message
XXXXXXXX-2         NA                      NA                  NA
XXXXXXXX-3         NA                      NA                  NA       
XXXXXXXX-4         Other                   Other               Other        
XXXXXXXX-1         Natural Disaster        Natural Disaster    Natural Disaster
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-27 19:50:26

您应该能够像这样使用.merge()

代码语言:javascript
复制
new_df = pandas.merge(actual_df, reference_df, on='root_cause_level3', how='left')

一种更清洁的方法可以是做以下事情:

代码语言:javascript
复制
new_df = pandas.merge(actual_df[['incident_id','root_cause_level3']], reference_df, on='root_cause_level3', how='left')

则不会在new_df中得到重复的列名

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

https://stackoverflow.com/questions/54913217

复制
相关文章

相似问题

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