You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中基于匹配值将两个独立DataFrame合并到大DataFrame的方法

多DataFrame匹配合并解决方案

你可以分两次左连接完成合并,全程保留df1的所有行,匹配时直接指定不同表的对应关联键即可,无需提前修改原表字段:

实现代码

import pandas as pd

# 第一步:df1左连接df2,匹配规则:id=name、Date=date1
merge_tmp = df1.merge(
    df2,
    left_on=["id", "Date"],
    right_on=["name", "date1"],
    how="left"
)

# 第二步:上述临时结果左连接df3,匹配规则:id=ex、Date=date2
res = merge_tmp.merge(
    df3,
    left_on=["id", "Date"],
    right_on=["ex", "date2"],
    how="left"
)

# 字段重命名+空值填充,符合期望输出格式
res = res.rename(columns={"pp1": "pwr1", "pp2": "pwr2"})
fill_cols = ["count1", "pwr1", "count2", "pwr2"]
res[fill_cols] = res[fill_cols].fillna(0).astype(int)

# 输出结果
print(res)

逻辑说明

  • 两次合并均使用how="left",保证df1的所有行被完整保留,不会因df2、df3无匹配项丢失数据
  • 匹配时通过left_on、right_on分别指定左右表的关联键,无需修改原表的字段名称
  • 最后对数值列的空值统一填充为0,和你给出的期望输出完全一致

内容的提问来源于stack exchange,提问作者Lynn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 17:36:02