当前位置 博文首页 > python eval 转换k m到乘法计算的操作

    python eval 转换k m到乘法计算的操作

    作者:石小秀1995 时间:2021-05-25 17:53

    原数据

    在这里插入图片描述

    lambda函数处理

    我之前写了各种if substr函数,各种报错

    正确到热泪盈眶的函数

    data['Followers/Fans'] = data['Followers/Fans'].str.replace('k|K','*1000').str.replace('m|M','*1000000').fillna('0')
    data['Followers/Fans'] = data['Followers/Fans'].apply(eval)
    

    报错函数

    # def trans(x):
    #     x = str(x)
    #     x = x.strip() # 去除首尾空格
    #     if (x[-1]  == 'k' or x[-1]  == 'K') :
    #         return float(x[0:-1])*1000
    #     elif (x[-1]  == 'M' or x[-1]  == 'm'):
    #         return float(x[0:-1])*1000000
    #     else:
    #         return x
    

    eval() 函数

    eval() 函数用来执行一个字符串表达式,并返回表达式的值。

    补充:python中的eval函数及求四则运算

    输入描述:

    输入一个表达计算式

    输出描述:

    得到输出结果

    例子

    输入:3+2*{1+2*[-4/(8-6)+7]}

    输出:25

    代码:

    功能1:

    eval()函数能将字符串string对象转化为有效的表达式参与求值运算,并返回计算结果

    while True:
        try:
            s = str(input())
            print(eval(s))
        except:
            break

    功能2:

    eval()函数去掉参数最外侧引号并执行余下语句的函数

    print(eval("'Hello world'")) # 输出 Hello world
    #print(eval("Hello world"))  # 因为eval()函数去掉外部的双引号后,成为变量Hello world,而之前没有定义过该变量,所以会报错。
    print(eval('"1+2"'))         # 输出1+2
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持站长博客。

    js
    下一篇:没有了