You need to enable JavaScript to run this app. 如何基于id匹配为Pandas DataFrame a新增来自DataFrame b的description列
优惠活动
大模型
产品
解决方案
定价
更多

如何基于id匹配为Pandas DataFrame a新增来自DataFrame b的description列

实现方法

你可以通过两种常用的Pandas方法实现需求:

方法1:merge 关联(适用多字段匹配场景)

使用左连接保留a表的全部行,仅关联b表的id和description字段即可:

import pandas as pd

# 仅保留b表需要关联的两个字段,和a表基于id左连接
a = a.merge(b[['id', 'description']], on='id', how='left')
# 可选:调整列顺序为你需要的 id、description、value
a = a[['id', 'description', 'value']]

方法2:map 映射(适用单个字段提取场景,性能更高)

先从b表构建id到description的映射字典,直接给a表赋值新列:

# 构建id到description的映射关系
id_desc_map = dict(zip(b['id'], b['description']))
# 给a表新增description列
a['description'] = a['id'].map(id_desc_map)
# 可选:调整列顺序
a = a[['id', 'description', 'value']]

补充说明

如果a表存在b表中没有匹配到的id,对应description字段会自动填充NaN,你可以根据需要后续调用fillna()方法自定义填充默认值。如果后续需要同时从b表提取colour等其他字段,直接修改merge方法中b表选取的列即可,无需额外开发逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 23:15:07