我之前寫了各種if substr函數(shù),各種報(bào)錯(cuò)
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() 函數(shù)用來執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值。
補(bǔ)充:python中的eval函數(shù)及求四則運(yùn)算
輸入一個(gè)表達(dá)計(jì)算式
得到輸出結(jié)果
輸入:3+2*{1+2*[-4/(8-6)+7]}
輸出:25
eval()函數(shù)能將字符串string對象轉(zhuǎn)化為有效的表達(dá)式參與求值運(yùn)算,并返回計(jì)算結(jié)果
while True: try: s = str(input()) print(eval(s)) except: break
eval()函數(shù)去掉參數(shù)最外側(cè)引號并執(zhí)行余下語句的函數(shù)
print(eval("'Hello world'")) # 輸出 Hello world #print(eval("Hello world")) # 因?yàn)閑val()函數(shù)去掉外部的雙引號后,成為變量Hello world,而之前沒有定義過該變量,所以會報(bào)錯(cuò)。 print(eval('"1+2"')) # 輸出1+2
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:阿里 銅川 通遼 常德 黑龍江 呂梁 潛江 株洲
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python eval 轉(zhuǎn)換k m到乘法計(jì)算的操作》,本文關(guān)鍵詞 python,eval,轉(zhuǎn)換,到,乘法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。