从 Pandas 列中删除缩写(字母+点的组合)

Posted

技术标签:

【中文标题】从 Pandas 列中删除缩写(字母+点的组合)【英文标题】:Delete abbreviations (combination of Letter+dot) from Pandas column 【发布时间】:2022-01-17 19:08:36 【问题描述】:

我想删除 pandas 列中字符串的特定部分,例如后跟一个点的任何字母。例如,有一个名称列:

John W. Man
Betty J. Rule
C.S. Stuart

剩下的应该是

John Man
Betty Rule
Stuart

所以,任何字母后跟一个点,代表一个缩写,应该去。 我想不出 str.replace 之类的方法。

【问题讨论】:

【参考方案1】:

使用Series.str.replace 和reegx 匹配一个字母与. 和它后面的空格(如果存在):

df['col'] = df['col'].str.replace('([a-zA-Z]1\.\s*)','', regex=True)
print (df)
          col
0    John Man
1  Betty Rule
2      Stuart

【讨论】:

以上是关于从 Pandas 列中删除缩写(字母+点的组合)的主要内容,如果未能解决你的问题,请参考以下文章

从 pandas 列中删除非 ASCII 字符

从 pandas 数据框列中的对象中删除逗号

从 Pandas 数据框列中删除“秒”和“分钟”

从 pandas 数据框中的元组列中删除元素

从 Pandas DataFrame 列中删除特定符号(unicode)[重复]

删除出现在其他列中的单词,Pandas