user3682157
user3682157

Reputation: 1695

How do I apply a regex substitution in a string column of a DataFrame?

I have a DataFrame called "Animals" that looks like this:

 Words
 The Black Cat
 The Red Dog

I want to add a plus sign before each word so that it looks like this:

 Words
 +The +Black +Cat
 +The +Red +Dog

I have tried this using regex but it did not work:

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

Upvotes: 6

Views: 5544

Answers (1)

Alex Riley
Alex Riley

Reputation: 176740

You can use str.replace with the following regex to make the change to all rows of the column:

df.Words = df.Words.str.replace(r'(\b\S)', r'+\1')

The DataFrame then looks like this:

>>> df
              Words
0  +The +Black +Cat
1    +The +Red +Dog

Upvotes: 7

Related Questions