我正在尝试使用正则表达式替换单词。但这不起作用。
我正在尝试仅替换具有一个点(。)
的单词我的专栏:
Names
House is cold
a.blala
myname.s
Tables are old
L.NAME
E. Name
我尝试过:
df['Names'] = df['Names'].str.replace(r'([a-z]|[a-z]+)|([A-Z]|[A-Z]+)\..?([a-z]+|[A-Z]+)|([A-Z][a-z]+)', '<person>')
但是此正则表达式替换了此数据框中的所有文本。
好的输出
Names
House is cold
<person>
<person>
Tables are old
<person>
<person>
答案 0 :(得分:1)
如果您要查找单个.
,请使用:
import numpy as np
df['Names'] = np.where(df['Names'].str.count('\.')==1, '<person>', df['Names'])
df
# Names
#0 House is cold
#1 <person>
#2 <person>
#3 Tables are old
#4 <person>
#5 <person>
答案 1 :(得分:0)
我认为您可以使用:
df['names'] = np.where(df['names'].str.contains('\.'), '<person>',df['names'])