python eval 转换k m到乘法计算的操作
原数据
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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持hwidc。
【本文来源:武汉网站推广 转载请保留连接】