我有以下数据框:
我试图摆脱百分号。为了做到这一点,我决定将一个函数应用于民主党和共和党专栏,并尝试按百分比符号分割()。以下代码尝试执行此操作:
gallup_2012[['Democrat/Lean Democratic', 'Republican/Lean
Republican']].apply(lambda x: x.split('%')[0])
但是,当我尝试这样做时,我收到以下错误:
("'系列'对象没有属性'分裂'",你'发生在民主党/精益指数>民主党')
我不太清楚为什么会出现这种错误,因为我可以将其他功能应用到本系列中。只是split()函数不起作用。
任何帮助将不胜感激!
答案 0 :(得分:3)
df[[ ]]
会返回一个数据框,因此如果您使用df.apply()
,那么它将会应用于pd.Series
。并且Series
没有split()
方法,但如果您使用df[ ]
并使用df.apply()
,那么您将能够达到您想要的效果。缺点是只能在一列上应用。
gallup_2012['Democrat/Lean Democratic'].apply(lambda x: x.split('%')[0])
答案 1 :(得分:1)
您可以在所需的列上使用str.replace方法
df["column"] = df["column"].str.replace("%", "")