pandas groupby()的使用小結(jié)
在數(shù)據(jù)分析中,經(jīng)常會用到分組,可用函數(shù) pandas 中的groupby()。
groupby()主要的分組統(tǒng)計方向:
1、分組匯總
2、分組描述性統(tǒng)計分析
3、分組計算均值等統(tǒng)計量
4、分組去重
5、分組排序取樣本
6、分組匯總,然后再分組計算
Date Latitude Longitude Depth Type 01/02/1965 19.246 145.616 131.6 Earthquake 01/04/1965 1.863 127.352 80.0 Earthquake 01/05/1965 -20.579 -173.972 20.0 Earthquake 01/08/1965 -59.076 -23.557 15.0 Earthquake 01/09/1965 11.938 126.427 15.0 Earthquake
#1、分組統(tǒng)計組內(nèi)個數(shù) df.groupby(['date','Type']) .size() #2、分組統(tǒng)計計算‘Depth'的基本數(shù)據(jù)分布 df.groupby(['date','type'])['Depth'] .describe() #3、分組統(tǒng)計計算‘Latitude'的均值 df.groupby(['date','type']) .agg({'Latitude':'mean'}) #分組統(tǒng)計計算兩列數(shù)據(jù)的均值 df.groupby(['date','type']) .agg(la_mean = ('Latitude','mean'), lo_mean = ('Longitude','mean'), la_range = ('depth',lambda x:x.max() - x.min())) #4、分組然后對每組去重,然后匯總?cè)ブ睾蟮膫€數(shù) df.groupby('date') .apply(lambda x: x.drop_duplicates('Type')['Type'] .count()) #5、分組,然后按照‘Latitude'降序,并取出每組的前3個樣本。 df.groupby(['date']) .apply(lambda x: x.sort_values('Latitude',ascending = False) .head(3)) #6、分組,然后匯總計算兩列數(shù)據(jù),再進行分組,取出每一組‘la_sum'的最大值 df.groupby(['date','type']) .agg(la_sum = ('Latitude','sum'), lo_sum = ('Longitude','sum')) .groupby(['date']) .apply(lambda x:x.sort_values('la_sum ',ascending = False).head(1)) #分組,然后按照type排序,再分組,取出前10匯總和后10匯總,然后再計算兩者的比率 df.groupby('date') .apply(lambda x:x.sort_values('type')) .reset_index(drop = True).groupby('date') .agg(tail10 = ('depth',lambda x:x.head(10).sum()), top10 = ('depth',lambda x:x.tail(10).sum())) .apply(lambda x:x['top10']/x['tail10'],axis = 1)
groupby()結(jié)合agg()和apply(),可以解決很多復(fù)雜的分組計算問題。
到此這篇關(guān)于pandas groupby()的使用小結(jié)的文章就介紹到這了,更多相關(guān)pandas groupby()使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Pycharm中調(diào)試Django項目程序的操作方法
今天小編就為大家分享一篇在Pycharm中調(diào)試Django項目程序的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07pytorch:torch.mm()和torch.matmul()的使用
今天小編就為大家分享一篇pytorch:torch.mm()和torch.matmul()的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12TensorFlow dataset.shuffle、batch、repeat的使用詳解
今天小編就為大家分享一篇TensorFlow dataset.shuffle、batch、repeat的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01關(guān)于Python3 lambda函數(shù)的深入淺出
今天小編就為大家分享一篇關(guān)于Python3 lambda函數(shù)的深入淺出,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Pycharm最全報錯的原因與解決方法總結(jié)(推薦!)
這篇文章主要給大家介紹了關(guān)于Pycharm最全報錯的原因與解決方法的相關(guān)資料,文中記錄了Python各種報錯解釋及處理方法,屬于個人記錄型,需要的朋友可以參考下2022-07-07python學(xué)習(xí)之面向?qū)ο蟆救腴T初級篇】
Python從第一天開始就是面向?qū)ο蟮恼Z言。正因為如此,創(chuàng)建和使用類和對象是非常地容易。這篇文章主要介紹了python中面向?qū)ο蟮南嚓P(guān)資料,屬于python面向?qū)ο髮W(xué)習(xí)的初級篇,本章將幫助您在使用Python面向?qū)ο缶幊痰募夹g(shù)方面所有提高,有需要的朋友可以參考借鑒。2017-01-01python selenium 執(zhí)行完畢關(guān)閉chromedriver進程示例
今天小編就為大家分享一篇python selenium 執(zhí)行完畢關(guān)閉chromedriver進程示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11