python中apply函數(shù)詳情
函數(shù)原型:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
- 1.該函數(shù)最有用的是第一個(gè)參數(shù),這個(gè)參數(shù)是函數(shù),相當(dāng)于C/C++的函數(shù)指針。
- 2.這個(gè)函數(shù)需要自己實(shí)現(xiàn),函數(shù)的傳入?yún)?shù)根據(jù)axis來(lái)定,比如axis = 1,就會(huì)把一行數(shù)據(jù)作為Series的數(shù)據(jù)
- 結(jié)構(gòu)傳入給自己實(shí)現(xiàn)的函數(shù)中,我們?cè)诤瘮?shù)中實(shí)現(xiàn)對(duì)
Series
不同屬性之間的計(jì)算,返回一個(gè)結(jié)果,則apply函數(shù) - 會(huì)自動(dòng)遍歷每一行
DataFrame
的數(shù)據(jù),最后將所有結(jié)果組合成一個(gè)Series
數(shù)據(jù)結(jié)構(gòu) - 并返回。
- 3.apply函數(shù)常與
groupby
函數(shù)一起使用,如下圖所示:
- 4.舉栗子
對(duì)指定列進(jìn)行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): ? ? return x-1 print(data) print(data.ix[:,['1','2']].apply(f)) ? ? 0 ? 1 ? 2 ? 3 0 ? 0 ? 1 ? 2 ? 3 1 ? 4 ? 5 ? 6 ? 7 2 ? 8 ? 9 ?10 ?11 3 ?12 ?13 ?14 ?15 ? ? 1 ? 2 0 ? 0 ? 1 1 ? 4 ? 5 2 ? 8 ? 9 3 ?12 ?13
對(duì)行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): ? ? return x-1 print(data) print(data.ix[[0,1],:].apply(f)) ? ? 0 ? 1 ? 2 ? 3 0 ? 0 ? 1 ? 2 ? 3 1 ? 4 ? 5 ? 6 ? 7 2 ? 8 ? 9 ?10 ?11 3 ?12 ?13 ?14 ?15 ? ?0 ?1 ?2 ?3 0 -1 ?0 ?1 ?2 1 ?3 ?4 ?5 ?6
整體對(duì)列操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): ? ? return x.max() print(data) print(data.apply(f)) ? ? 0 ? 1 ? 2 ? 3 0 ? 0 ? 1 ? 2 ? 3 1 ? 4 ? 5 ? 6 ? 7 2 ? 8 ? 9 ?10 ?11 3 ?12 ?13 ?14 ?15 0 ? ?12 1 ? ?13 2 ? ?14 3 ? ?15 dtype: int64
整體對(duì)行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): ? ? return x.max() print(data) print(data.apply(f,axis=1)) ? ? 0 ? 1 ? 2 ? 3 0 ? 0 ? 1 ? 2 ? 3 1 ? 4 ? 5 ? 6 ? 7 2 ? 8 ? 9 ?10 ?11 3 ?12 ?13 ?14 ?15 0 ? ? 3 1 ? ? 7 2 ? ?11 3 ? ?15 dtype: int64
到此這篇關(guān)于python中apply函數(shù)詳情的文章就介紹到這了,更多相關(guān)python中apply函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中在腳本中引用其他文件函數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Python中在腳本中引用其他文件函數(shù)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Windows下的Jupyter Notebook 安裝與自定義啟動(dòng)(圖文詳解)
這篇文章主要介紹了Windows下的Jupyter Notebook 安裝與自定義啟動(dòng)(圖文詳解),需要的朋友可以參考下2018-02-02Python實(shí)現(xiàn)人臉識(shí)別的詳細(xì)圖文教程
人臉識(shí)別是人工智能的一個(gè)重要應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)人臉識(shí)別的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析
這篇文章主要介紹了Python模塊的定義,模塊的導(dǎo)入,__name__用法,結(jié)合實(shí)例形式分析了Python的概念、功能、導(dǎo)入及__name__相關(guān)使用技巧,需要的朋友可以參考下2020-01-01基于Python實(shí)現(xiàn)報(bào)表自動(dòng)化并發(fā)送到郵箱
作為數(shù)據(jù)分析師,我們需要經(jīng)常制作統(tǒng)計(jì)分析圖表。但是報(bào)表太多的時(shí)候往往需要花費(fèi)我們大部分時(shí)間去制作報(bào)表。本文將利用Python實(shí)現(xiàn)報(bào)表自動(dòng)化并發(fā)送到郵箱,需要的可以參考一下2022-07-07nlp自然語(yǔ)言處理學(xué)習(xí)CBOW模型類實(shí)現(xiàn)示例解析
這篇文章主要為大家介紹了nlp自然語(yǔ)言處理學(xué)習(xí)CBOW模型類實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問(wèn)題
這篇文章主要介紹了詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10聊聊Python pandas 中l(wèi)oc函數(shù)的使用,及跟iloc的區(qū)別說(shuō)明
這篇文章主要介紹了聊聊Python pandas 中l(wèi)oc函數(shù)的使用,及跟iloc的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題實(shí)例
這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題,簡(jiǎn)單描述了數(shù)字組合問(wèn)題并結(jié)合實(shí)例形式分析了Python回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-09-09