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

Pandas中替代lookup函数实现跨表匹配填充的高效方法咨询

实现方案

方案1:Series.map()(单字段匹配最优)

这是最适配需求的轻量化实现,全程走pandas向量化逻辑,性能远高于自定义for循环:

# 1. 基于B表构建keyword到frequency的映射Series
freq_map = df_B.set_index('keyword')['frequency']
# 2. 对A表name列做映射,缺失值填充0后转为整数
df_A['frequency'] = df_A['name'].map(freq_map).fillna(0).astype('int')

如果B表存在重复keyword,可提前做去重处理,保留需要的条目即可:

df_B = df_B.drop_duplicates(subset='keyword', keep='last')

方案2:merge左连接(适合多字段匹配场景)

如果后续需要同时匹配B表的多个字段,可以用左连接实现:

df_A = df_A.merge(
    df_B,
    left_on='name',
    right_on='keyword',
    how='left'
).fillna(0).drop(columns='keyword')

两种方案都能完全符合指定匹配规则,10万行级数据下的执行速度是for循环的百倍以上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:54:08