原数据
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