Home > Software design >  How to remove part of string value in column?
How to remove part of string value in column?

Time:10-21

I have a dataframe:

  id                 value
4_french:k_15          10
87_john:k_82           82
11_mark:k_10/k_70      10
1_italian:k_11         9

I want to rename values in column id which have john:k_ giving them new id john or mark if its mark:k_ so desired result must be:

  id                 value
4_french:k_15          10
john                   82
mark                   10
1_italian:k_11         9

How to do that?

CodePudding user response:

We can use str.replace here:

df["id"] = df["id"].str.replace(r'^.*(john|mark):k_.*$', r'\1')

Here is a regex demo showing that the replacement logic is working.

A generic version which assumes that you don't even know what the names might be is:

df["id"] = df["id"].str.replace(r'^.*([a-z] ):k_.*$', r'\1')
  • Related