我想在pandas.df中选择所有带有'%'的数字并将其转换为浮点数形式(例如,从2%更改为0.02)。目标数字偶尔会分散,因此无法通过行/列来实现。我尝试了以下代码:
df.applymap(lambda x: str(x).contains('%').strip("%").astype(float)/100)
那没用...
答案 0 :(得分:0)
这应该有效
df=pd.DataFrame({'percent_column':['2%','3%','6%','0.08'],'Other_percent_column':['0.04','0.03','3%','4%']})
df=df.applymap(lambda x: float(x.rstrip('%'))/100 if '%' in x else float(x))
print(df)
结果:
percent_column Other_percent_column
0 0.02 0.04
1 0.03 0.03
2 0.06 0.03
3 0.08 0.04