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