Python如何转换百分数字符串为浮点数

本文转自http://www.datastudy.cc/article/5d8624e4a1d0d91fbc59fc3f9ad8704d?from=zhihu

很多时候,我们拿到的报表数据,里面的小数都是带百分号的字符串,不能进行直接的计算,需要对其进行转换,然后再输出。

解决方法:

from pandas import DataFrame;

df = DataFrame({
'p_str': ['10.33%','23.22%','56%','35.786%','99.0009%']
});

p_float = df['p_str'].str.strip("%").astype(float)/100;

#保留小数点后面2位
p_float_2 = p_float.round(decimals=2)

#如果想将小数转成百分号字符串,可以这样子干
#再转换成百分号并且保留2位数(精度可以调整)
p_str_2 = p_float.apply(lambda x: format(x, '.2%')); 

#重新赋值
df['p_str_2']=p_str_2;
df['p_float']=p_float;
df['p_float_2']=p_float_2;

df
  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值