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

如何在pandas中对含查找键的字符串列映射lookup表

Pandas从字符串中匹配查找表键值的解决方案

核心思路是将查找表的关键词整理为正则匹配规则,从源表字符串中提取匹配的关键词后,通过查找表映射得到对应值。
具体实现代码如下:
首先导入依赖并构造示例数据:

import pandas as pd

# 源DataFrame示例
source_df = pd.DataFrame({
    'ColA': [
        "Pete eats apple.",
        "I like chocolate more.",
        "Orange from Carla."
    ]
})

# 查找表DataFrame示例
lookup_df = pd.DataFrame({
    'Col1': ['Orange', 'chocolate', 'apple'],
    'Col2': ['orange', 'brown', 'green']
})

核心处理逻辑:

# 构造关键词到目标值的映射字典
color_mapping = dict(zip(lookup_df['Col1'], lookup_df['Col2']))
# 生成正则匹配规则
match_pattern = '|'.join(color_mapping.keys())
# 提取字符串中匹配的关键词,映射为对应颜色
source_df['Color'] = source_df['ColA'].str.extract(f'({match_pattern})', expand=False).map(color_mapping)

执行后输出source_df即可得到要求的结果:

ColAColor
Pete eats apple.green
I like chocolate more.brown
Orange from Carla.orange

如果需要适配不区分大小写的匹配场景,可以调整正则规则为f'(?i)({match_pattern})'即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:06:05