Home > Net >  How to remove special characters from rows in pandas dataframe
How to remove special characters from rows in pandas dataframe

Time:12-16

I have a column in pandas data frame like the one shown below;

LGA

Alpine (S)
Ararat (RC)
Ballarat (C)
Banyule (C)
Bass Coast (S)
Baw Baw (S)
Bayside (C)
Benalla (RC)
Boroondara (C)

What I want to do, is to remove all the special characters from the ending of each row. ie. (S), (RC).

Desired output should be;

LGA

Alpine
Ararat
Ballarat
Banyule
Bass Coast
Baw Baw
Bayside
Benalla
Boroondara

I am not quite sure how to get desired output mentioned above.

Any help would be appreciated.

Thanks

CodePudding user response:

I have different approach using regex. It will delete anything between brackets:

import re
import pandas as pd
df = {'LGA': ['Alpine (S)', 'Ararat (RC)', 'Bass Coast (S)']  }
df = pd.DataFrame(df)
df['LGA'] = [re.sub("[\(\[].*?[\)\]]", "", x).strip() for x in df['LGA']] # delete anything between brackets

CodePudding user response:

Here you go. I have named the column (LGA) as Name in this case. You may use your current column name.

df.Name = df.Name.apply(lambda x : x.split()[0])

CodePudding user response:

import pandas as pd
df = {'LGA': ['Alpine (S)', 'Ararat (RC)', 'Bass Coast (S)']  }
df = pd.DataFrame(df)
df[['LGA','throw away']] = df['LGA'].str.split('(',expand=True)
  • Related