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

如何拆分DataFrame中无空格分隔的姓名与缩写?

解决方法

核心思路是用正则表达式匹配「小写字母紧跟大写字母」的姓名分隔边界,插入, 分隔符后,通过pandas的字符串方法批量处理整列。

1. 正则匹配规则

匹配模式:([a-z])([A-Z])

  • ([a-z]):捕获姓名末尾的小写字母部分
  • ([A-Z]):捕获下一个姓名开头的大写字母

替换规则:\1, \2,即在两个捕获组之间插入, 分隔符。

2. pandas批量处理代码

假设你的DataFrame是df,目标列名为name_col,执行以下代码:

import pandas as pd

# 示例数据
df = pd.DataFrame({
    'name_col': ['A B MclearyT WhitebottomIannis Clancy', 'SmithJ Doe']
})

# 对目标列执行全局替换
df['name_col'] = df['name_col'].str.replace(r'([a-z])([A-Z])', r'\1, \2', regex=True)

处理后示例输出的name_col列内容:

A B Mcleary, T Whitebottom, Iannis Clancy
Smith, J Doe

说明

  • 该规则完全适配你提到的「姓名首字母前均为小写字母」的特征,能准确拆分无空格连接的姓名。
  • 若存在特殊姓名组合(比如合法的小写接大写结构),可根据实际数据微调正则表达式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 15:15:32