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