原数据
lambda函数处理
我之前写了各种if substr函数,各种报错
正确到热泪盈眶的函数
1
2
|
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 ) |
报错函数
1
2
3
4
5
6
7
8
9
|
# 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对象转化为有效的表达式参与求值运算,并返回计算结果
1
2
3
4
5
6
|
while True : try : s = str ( input ()) print ( eval (s)) except : break |
功能2:
eval()函数去掉参数最外侧引号并执行余下语句的函数
1
2
3
|
print ( eval ( "'Hello world'" )) # 输出 Hello world #print(eval("Hello world")) # 因为eval()函数去掉外部的双引号后,成为变量Hello world,而之前没有定义过该变量,所以会报错。 print ( eval ( '"1+2"' )) # 输出1+2 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_43852674/article/details/108846099