Home > database >  Extract values from string column in pandas dataframe
Extract values from string column in pandas dataframe

Time:03-09

I have a column in a dataframe which have a pattern as shown in the below example

id=1;name=x;color=blue;

I am trying to extract the value for name and store it in the same dataframe with column name as "name" and value is "x"

I tried the below code but it doesn't seem to work correctly

df['name'] = df['col'].str.extract("'name': '(.*?)'")

CodePudding user response:

The 'name': '(.*?)' regex is meant to extract a string between 'name': ' and the next ' char. You do not have single quotes, nor : in your input.

You can use

df['name'] = df['col'].str.extract(r"name=([^;]*)")

See the regex demo, name=([^;]*) matches the name= as left-hand side context and extracts one or more chars other than a ; right after that into the name column.

  • Related