jhhll1 发表于 2016-11-1 16:04:30

Python如何将百分号的字符转成数字

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

        解决方法:

        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

页: [1]
查看完整版本: Python如何将百分号的字符转成数字