I have the following dataframe:
  
I'm trying to get rid of the percentage signs. In order to do this I decided to apply a function to the Democrat and Republican column and try to split() by the percentage sign. The following code tries to do that:
gallup_2012[['Democrat/Lean Democratic', 'Republican/Lean 
Republican']].apply(lambda x: x.split('%')[0])
However, when I try to do this, I get the following error:
("'Series' object has no attribute 'split'", u'occurred at index Democrat/Lean > Democratic')
I'm not quite sure why this error occurs, as I can apply other functions to this series. It's just that the split() function doesn't work.
Any help would be appreciated!
df[[ ]] returns a dataframe, so if you use df.apply() then it would be applied on pd.Series. And Series doesn't have split() method, But if you use df[ ] and use df.apply() then you would be able to achieve what you want. The drawback is only that you can apply only on one column.
gallup_2012['Democrat/Lean Democratic'].apply(lambda x: x.split('%')[0])
                        You could use the str.replace method on the desired columns
df["column"] = df["column"].str.replace("%", "")
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With