我有两个数据:
Reference_DF:
root_cause_level3 root_cause_level2 root_cause_level1
NA NA NA
Natural Disaster Natural Disaster Natural Disaster
Other Other Other
Communications Misunderstood Long MessageActual_DF:
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的根本原因来映射它。我不知道怎么做,对如何解决这个问题有什么建议吗?
预期产出:
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发布于 2019-02-27 19:50:26
您应该能够像这样使用.merge():
new_df = pandas.merge(actual_df, reference_df, on='root_cause_level3', how='left')一种更清洁的方法可以是做以下事情:
new_df = pandas.merge(actual_df[['incident_id','root_cause_level3']], reference_df, on='root_cause_level3', how='left')则不会在new_df中得到重复的列名
https://stackoverflow.com/questions/54913217
复制相似问题