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

Python对比两个DataFrame,补全df2匹配行的缺失列值

解决方案:DataFrame缺失列值补全

可以直接用pandas的merge方法实现左连接,基于共同列匹配后补全缺失值,步骤如下:

代码实现

import pandas as pd

# 构造示例df1
df1 = pd.DataFrame({
    'column1': [1, 2, 3],
    'column2': [2, 3, 4],
    'column3': [3, 4, 5]
})

# 构造示例df2
df2 = pd.DataFrame({
    'column1': [1, 2, 3, 4, 5],
    'column2': [2, 3, 4, 5, 6]
})

# 左连接补全缺失列:保留df2所有行,匹配df1对应列补全column3
df3 = df2.merge(df1, on=['column1', 'column2'], how='left')

print(df3)

基础输出结果

column1  column2  column3
0        1        2      3.0
1        2        3      4.0
2        3        4      5.0
3        4        5      NaN
4        5        6      NaN

如果需要让缺失值显示为空(和示例格式完全一致),可以追加fillna('')处理:

df3 = df2.merge(df1, on=['column1', 'column2'], how='left').fillna('')
print(df3)

处理后的输出:

column1  column2 column3
0        1        2       3
1        2        3       4
2        3        4       5
3        4        5        
4        5        6        

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:22:36