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

Pandas如何基于Name列关键词批量为Brand列匹配赋值对应品牌

批量匹配品牌字段实现方案

不需要逐行写完整产品名做等值匹配,只需要维护「品牌-对应专属关键词列表」的映射规则,就可以一次性完成全表品牌列赋值,后续新增品牌、关键词只需要更新映射字典即可,不用重复写匹配逻辑。

核心实现代码

import pandas as pd

# 1. 在这里维护所有品牌和对应的产品关键词,后续新增规则直接追加即可
brand_keyword_map = {
    "Yeti": ["Rambler"],
    "Pelican": ["Pelican"],
    # 示例:其他品牌按相同格式添加,一个品牌可以绑定多个关键词
    # "Hydro Flask": ["Hydro Flask", "Wide Mouth", "Standard Mouth"]
}

# 初始化Brand空列
df["Brand"] = ""

# 2. 遍历规则批量匹配赋值
for brand, keywords in brand_keyword_map.items():
    # 拼接当前品牌所有关键词为正则匹配模式,默认不区分大小写
    match_pattern = "|".join(keywords)
    # Name列包含任意一个对应关键词,就给该行Brand列赋值对应品牌名
    df.loc[df["Name"].str.contains(match_pattern, case=False, na=False), "Brand"] = brand

使用提示

  • 关键词尽量选择品牌独有的产品标识,避免不同品牌的关键词重叠导致匹配错误
  • 如果存在同一条产品名命中多个品牌关键词的情况,把优先级更高的品牌规则放在映射字典的靠前位置即可
  • 匹配完成后可以执行df[df["Brand"] == ""]筛选出所有未匹配到品牌的行,针对这部分补充关键词规则即可,不用逐行手动赋值
  • 如果需要严格区分关键词大小写,把str.contains里的case=False改成case=True就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 01:48:16