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

如何按条件合并不同DataFrame的ID列,对齐相同值缺失项补Na/None

解决方案

核心通过Pandas的外连接功能实现需求,完整可运行代码如下:

import pandas as pd

# 示例数据构造
first = pd.DataFrame({"id": ["K0", "K1" ], "v": [1, 2]})
second = pd.DataFrame({"id": ["K0", "K3", "K2"], "v": [4, 6,3]})

# 合并处理
result = pd.merge(
    # 处理第一个表:重命名id列,仅保留id列避免其他字段干扰
    first.rename(columns={"id": "id_1"})[["id_1"]],
    # 处理第二个表:重命名id列,仅保留id列避免其他字段干扰
    second.rename(columns={"id": "id_2"})[["id_2"]],
    left_on="id_1",
    right_on="id_2",
    how="outer" # 外连接保留两个表所有唯一id
)

# 如果需要把默认的NaN替换为None,可加下面这行
# result = result.where(result.notna(), None)

输出说明

运行后默认输出如下(你给出的示例输出省略了id为K3的行,实际会保留所有唯一id,不需要的话可自行加过滤逻辑删除):

id_1 id_2
0   K0   K0
1   K1  NaN
2  NaN   K3
3  NaN   K2

内容的提问来源于stack exchange,提问作者Manolo Dominguez Becerra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:06:04