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

pandas使用str.title()转换大小写时如何排除指定全大写缩略词?

解决方案

首先定义需要保留全大写的缩略词列表,利用正则的单词边界匹配规则实现精准替换,可同时覆盖缩略词单独出现、和其他词组合出现的场景,也不会误改包含相同字母序列的其他单词。

具体操作逻辑如下:

  1. 先对整列执行原本的title()大小写转换,完成普通词汇的格式调整
  2. 遍历自定义的缩略词列表,将所有作为独立单词存在、被错误转换为首字母大写的缩略词,替换回原本的全大写格式

示例代码:

# 定义需要保留全大写的缩略词列表,可根据需求自行增删
acronyms = ["SAP", "HANA", "FOX", "INC"]

# 第一步:执行通用title格式转换
df['Stock'] = df['Stock'].str.title()

# 第二步:遍历修正缩略词格式,\b为正则单词边界标识符,避免匹配到单词内部的相同字符
for acro in acronyms:
    target_pattern = rf'\b{acro.title()}\b'
    df['Stock'] = df['Stock'].str.replace(target_pattern, acro, regex=True)

效果验证:

  • 原内容SAP HANA → 经过title转换为Sap Hana → 修正后为SAP HANA
  • 原内容FOX CORPORATION → 经过title转换为Fox Corporation → 修正后为FOX Corporation
  • 原内容APPLE INC → 经过title转换为Apple Inc → 修正后为Apple INC
  • 原内容Sapori Trattoria → 经过title转换为Sapori Trattoria → 因Sap后无单词边界不会被匹配,最终保留原格式不变

如果需要将多词组合的固定缩略词(比如SAP HANA整体作为保留项)也加入规则,直接将组合词添加到acronyms列表即可,现有逻辑无需修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:54:03