原數據
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