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

如何从含冗余内容的饮品数据列提取品牌名称?

提取饮品品牌名的解决方案

核心思路

既然你已经掌握了所有目标饮品品牌的名称,最直接高效的方法就是基于已知品牌列表做精准匹配,无需依赖不稳定的固定切片或复杂正则推导。

实现步骤(以Python Pandas为例)

假设你用Pandas处理数据列,可按以下方式实现:

  1. 定义已知品牌列表
brand_list = ["BALLANTINES", "CHIVAS", "ABSOLUT"]
  1. 生成正则匹配规则
    将品牌列表转为正则表达式,确保匹配完整的品牌名(避免部分字符误匹配):
import re
import pandas as pd

# 示例数据
df = pd.DataFrame({
    "original": [
        "WHISKY BALLANTINES12YO 12X1000 ML RESTAGE",
        "CHIVAS REGAL 12 ANOS 12X1L",
        "VODKA ABSOLUT 12X1000ML"
    ]
})

# 构建正则模式,优先匹配长品牌(若存在品牌名包含关系,需把长品牌放在列表前面)
brand_pattern = r'(' + '|'.join(sorted(brand_list, key=len, reverse=True)) + r')'
  1. 提取品牌并格式化
# 提取匹配到的品牌,忽略大小写差异
df['brand'] = df['original'].str.extract(brand_pattern, flags=re.IGNORECASE)
# 统一转为大写格式(按需调整)
df['brand'] = df['brand'].str.upper()

处理结果

originalbrand
WHISKY BALLANTINES12YO 12X1000 ML RESTAGEBALLANTINES
CHIVAS REGAL 12 ANOS 12X1LCHIVAS
VODKA ABSOLUT 12X1000MLABSOLUT

注意事项

  • 如果品牌名存在包含关系(比如"CHIVAS"和"CHIVAS REGAL"),一定要把更长的品牌名放在列表前面,避免短品牌先被匹配导致结果错误。
  • 若原始数据中有大小写混合的情况,flags=re.IGNORECASE参数能确保匹配不受大小写影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:20:26