我需要使一些名称格式匹配以便稍后在我的脚本中合并。我的“名称”列是从 csv 导入的,包含如下名称:
安东尼奥·布朗
李肖恩·麦考伊
勒文贝尔
对于我的脚本,我想获取名字的第一个字母并将其与姓氏组合在一起....
A.布朗
麦考伊
L.贝尔
这是我现在每次都返回 NaaN 的内容:
ff['AbbrName'] = ff['Name'].str.extract('([A-Z]\s[a-zA-Z]+)', expand=True)
谢谢!
请您参考如下方法:
使用 str.replace 方法的另一个选项 ^([A-Z]).*?([a-zA-Z]+)$; ^([A-Z]) 捕获字符串开头的第一个字母; ([a-zA-Z]+)$ 匹配最后一个单词,然后通过在第一个捕获组和第二个捕获组之间添加 . 来重构名称:
df['Name'].str.replace(r'^([A-Z]).*?([a-zA-Z]+)$', r'\1.\2')
#0 A.Brown
#1 L.McCoy
#2 L.Bell
#Name: Name, dtype: object
