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

如何在Pandas DataFrame中提取公司名,排除后缀并保留例外词

提取Pandas DataFrame中的核心公司名称(支持例外词保留)

直接上可运行的解决方案,适配你的需求:

步骤1:准备数据与导入依赖

import pandas as pd

# 构造你的示例数据
data = {
    'company_name': [
        'PwC advisory',
        'PwC accounting',
        'American airlines',
        'McDonalds Boston',
        'McDonalds Washington',
        'Spirit airlines'
    ]
}
df = pd.DataFrame(data)

步骤2:定义例外列表并构建正则规则

# 放入需要保留的后缀词,后续可直接添加扩展
exception_words = ['airlines']

# 构建正则模式:优先匹配「核心名+例外词」,匹配不到则仅提取第一个核心词
pattern = r'^(\w+ (?:{}))|^(\w+)'.format('|'.join(exception_words))

# 提取核心名称并合并结果
df['core_company'] = df['company_name'].str.extract(pattern).bfill(axis=1).iloc[:, 0]

最终结果

运行后df['core_company']的输出为:

0              PwC
1              PwC
2    American airlines
3           McDonalds
4           McDonalds
5     Spirit airlines
Name: core_company, dtype: object

逻辑说明

  • 正则规则里的^(\w+ (?:{}))负责匹配带例外词的完整组合(比如American airlines),(?:...)是避免生成多余捕获组的语法;
  • |^(\w+)是兜底规则,当名称后缀不在例外列表里时,仅提取第一个单词作为核心名;
  • bfill(axis=1)是把两个捕获组的结果合并,取第一个非空值,确保每个行都有结果;
  • 如果后续要新增例外词,直接往exception_words列表里加即可,比如添加'group'就能保留'XYZ group'这类名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:22:19