选择带有'%'的数据并在熊猫中进行处理的问题

时间:2019-04-01 17:26:11

标签: pandas

我想在pandas.df中选择所有带有'%'的数字并将其转换为浮点数形式(例如,从2%更改为0.02)。目标数字偶尔会分散,因此无法通过行/列来实现。我尝试了以下代码:

df.applymap(lambda x: str(x).contains('%').strip("%").astype(float)/100)

那没用...

1 个答案:

答案 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