如何基于两个条件列匹配从另一pandas DataFrame中添加对应列
pandas双字段合并解决方案
你需要用pandas.merge()方法,指定双匹配字段和左连接规则即可实现需求,核心代码如下:
# 仅保留df2需要的列后和df1合并,按PRODUCT、YEAR两个字段同时匹配 df_result = pd.merge( left=df1, right=df2[["PRODUCT", "YEAR", "PRICE"]], on=["PRODUCT", "YEAR"], how="left" )
参数说明
on=["PRODUCT", "YEAR"]:指定两个匹配字段,只有两个字段取值完全一致的行才会关联成功how="left":采用左连接逻辑,完整保留左表df1的所有行,不会遗漏你原本的QTD数据,匹配不到的PRICE会自动填充空值。你给出的示例中所有行都能在df2找到对应匹配项,最终结果和你需要的df_Result完全一致
内容的提问来源于stack exchange,提问作者X15_Light
相关产品推荐
相关产品推荐

