如何在DataFrame的字符串列中应用正则表达式替换?

6

我有一个叫做“Animals”的DataFrame,看起来像这样:

 Words
 The Black Cat
 The Red Dog

我想在每个单词前面添加一个加号,使其看起来像这样:
 Words
 +The +Black +Cat
 +The +Red +Dog

我尝试使用正则表达式,但它没有起作用:

 df = re.sub(r'([a-z]+)', r'+\1', Animals)
1个回答

7
您可以使用以下正则表达式的str.replace来更改列的所有行:
df.Words = df.Words.str.replace(r'(\b\S)', r'+\1')

数据帧现在看起来像这样:
>>> df
              Words
0  +The +Black +Cat
1    +The +Red +Dog

非常好,感谢您的解决方案。我知道这不是原始问题的一部分,但我想知道是否也可以将其改编为删除单词之间的空格? - user3682157
@user3682157:没问题,很高兴能帮到你。要删除所有空格,你可以尝试使用 df.Words.str.replace(r'\s', r'') - Alex Riley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接