python 用lambda函數(shù)替換for循環(huán)的方法
場景如下:
現(xiàn)在有一個dataframe,其中一列為score,值從0-100,
df:
score
98
88
37
68
86
33
現(xiàn)在需要增加一列l(wèi)evel,給這些分?jǐn)?shù)分類,90分以上為A,60-90為B,60以下為C。
常用的方法肯定是使用for循環(huán),對每一行進(jìn)行處理。
import pandas as pd list = [98,88,37,68,86,33] df = pd.DataFrame(list, columns=['score']) # convert list to dataframe df['level'] = '' # add a column def judgeLevel(df): for i in range(len(df)): if df.score.ix[i] < 60: df.level.ix[i] = 'C' elif df.score.ix[i] > 90: df.level.ix[i] = 'A' else: df.level.ix[i] = 'B' return df df = judgeLevel(df)
還有一種方法,是使用python的匿名函數(shù):lambda函數(shù)
import pandas as pd list = [98,88,37,68,86,33] df = pd.DataFrame(list, columns=['score']) df['level'] = '' # add a column def judgeLevel(df): if df['score'] < 60: return 'C' elif df['score'] > 90: return 'A' else: return 'B' df['level'] = df.apply(lambda r: judgeLevel(r), axis=1)
至于如何取舍,就由各位自行決定了,多學(xué)一點總不是壞處,對吧?
以上這篇python 用lambda函數(shù)替換for循環(huán)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)杰卡德距離以及環(huán)比算法講解
這篇文章主要為大家介紹了Python實現(xiàn)杰卡德距離以及環(huán)比算法的示例講解,有需要的朋友可以借鑒參考下2022-02-02
python之Flask實現(xiàn)簡單登錄功能的示例代碼
這篇文章主要介紹了python之Flask實現(xiàn)簡單登錄功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
pytorch Dataset,DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例
這篇文章主要介紹了pytorch Dataset, DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Spring實戰(zhàn)之使用util:命名空間簡化配置操作示例
這篇文章主要介紹了Spring實戰(zhàn)之使用util:命名空間簡化配置操作,結(jié)合實例形式分析了Spring使用util:命名空間簡化配置操作的具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下2019-12-12
Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡(luò)請求用法實例
這篇文章主要為大家介紹了Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡(luò)請求用法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

