您现在的位置是:热点 >>正文
Pandas 中实现聚合统计,有几种方法?
热点09393612人已围观
简介...
pandas是当前Python数据分析中最为重要的工具,其提供了功能强大且灵活多样的API,可以满足使用者在数据分析和处理中的多种选择和实现方式。今天本文以Pandas中实现分组计数这个最基础的聚合统计功能为例,分享多种实现方案,最后一种应该算是一个骚操作了……
这里首先给出模拟数据集,不妨给定包括如下Pa两列的一个dataframe,需求是统计各国将领的人数。应该讲这是一个很基础的需求,旨在通过这一需求梳理pandas中分组聚合的几种通用方式。
value_counts上述需求是统计各国将领的人数,换言之就是在上述数据集中统计各个国家出现的次数。所以实现这一目的只需简单的对国家字段进行计数统计即可:
当然,以上实现nd其实仅适用于计数统计这种特定需求,对于其他的聚合统计是不能满足的。
groupby+count第一种实现算是走了取巧的方式,对于更为通用的聚合统计其实是不具有泛化性的,那么pandas中标准的聚合是什么样的呢?对于上述仅有一种聚合函数的例子,在pandas中更倾向于使用groupby直接+聚合函数,例如上述的分组as计数需求,其实就是groupby+count实现。
进一步的,其具体实现形式有两种:
1、分组后对指定列聚合,在这种形式中依据country分组后只提取name一列,相当于每个country下对应了一个由多个name组成的series,而后的count即为对这个series进行count。
2、分组后直接聚合 中,然后再提取指定列。此时,依据country分组后不限定特定列,而是直接加聚合函数count,此时相当于对列都进行count,此时得到的仍然是一个dataframe,而后再从这个dataframe中提取对特定列的计数结果。
值得指出,在此例中country以外的其他列实际上也是只有name一列,但与第一种形实现式其实也是不同的,具体在于未加提取name列之前,虽然也是只有name一列,但却还是一个dataframe:
groupby+agg上述方法是直接使用groupby+相应的聚合函数,这种聚合统计方法简单易懂,但缺点就是仅能实现单一的聚合需求,对于有多种聚合函数的情况是不适用的。此时,功能更为强大的agg函数聚合随之登场。agg是aggregation的缩写,可见其是专门用于聚合统计的,其可以接收多种不同的聚合函数,因而更具可定制性。
agg函数主要接收两个参数,第一个参数func用于接收聚合算子,可以是一个函数名或对象,也可以是一个函数列表,还可以是一个字典,使用方法很是灵活;第二参数axis则是指定聚合所沿着统计的轴向,默认是axis=0,即沿着行的方向对列聚合。agg的函数文档如下:
这里,仍然以上述分组计数为例,讲解groupby+agg的三种典型应用方式:
1、agg内接收聚合函数或聚合函数列表。具体实现形式也分为两种,与前面groupby直接+聚合函数的用法类似。实际上,该种用法其实与groupby直接+,有聚合函数极为类似。
2、agg内接收聚合函数字典,其中key为列名,value为聚合函数或函数列表,可实现同时对多个不同列实现不同聚合统计。这里字典的key是要聚合的name字段,字典的value即为要用的聚合函数count,当然也可以是包含count的列表的形式。用字典传入聚合函数的形式下,统计结果都是一个几种dataframe,更进一步的说当传入字典的value是聚合函数列表时,结果中dataframe的列名是一个二级列名。
3、agg内接收新列名+元组,实现对指定列聚合并重命名。对于聚合函数不是特别复杂而又希望能同时完成聚合列的重命名时,可以选用此种方式,具体传参形式实际上采用了python中可变字典参数**方法kwargs的用法,其中字典参数中的key是新列名,value是一个元组的形式,包括聚合字段列名和聚合函数。
groupby+apply如果说上述实现方式都还是pandas里中规中矩的聚合统计,那么这一种方式则是不是该算是一种骚操作?实际上,这是应用了pandas中apply的强大功能,具体可参考历史推文PaPandas中的这3个函数,没想到竟成了我数据处理的主力。
由于apply支持了多种重载方法,所以对于分组后的grouped dataframe应用apply,也可实现特定的聚合函数统计功能。首先看如下实际应用:
在上述方法中,groupby('country')后的结果,实际上是得到了一个DataFrameGrndoupBy对象,实际上是一组(key, value)的集合,其中每个key对应country列中的一种取值,每个value为该key对应的一个子dataframe,具体拆解打印如下:
而后,groupby后面接的apply函数,实质上即为对每个分组下的子dataframe进行聚合,具体使用何种聚合方式则就看apasply中传入何种参数了!
总结本文针对一个最为基础的聚合统计场景,介绍pandas中4类不同的实现方案,其中第一种value_counts不具有一般性,仅对分组计数需求适用;第二种groupby+聚合函数,是最为简单和基础的聚合统计,仅适用于单一聚合函数的需求;第三种groupby+agg,具有灵活多样的传参方 中式,是功能最为强大的聚合统计方案;而第四种groupby+apply则属于是灵活应用了apply的重载功能,可以用于完成一些特定的统计需求。
最后,虽然本文以简单的分组计数作为讲解案例,但所提到的方法其实是能够代表pandas中的各种聚合统计需求。
Tags:
相关文章
Perplexity 成功融资 2 亿美元,估值飙升至 200 亿美元
热点AI 驱动的搜索创业公司 Perplexity 近期获得了2亿美元的新融资,估值达到200亿美元。这一融资消息传出仅两个月前,该公司的估值还停留在180亿美元。Perplexity 成立仅三年,至今总...
【热点】
阅读更多OpenAI 与 Booking.com 联合推出小企业 ChatGPT 免费培训课程
热点OpenAI 与 Booking.com 合作推出了一项名为 SME AI Accelerator 的免费虚拟研讨会系列,旨在帮助小型和中型企业主了解如何使用 ChatGPT 来简化日常工作。这一系列...
【热点】
阅读更多Vidu Q2全面升级:参考生视频提速三倍,支持长达五分钟 AI 故事创作
热点AI 视频生成平台 Vidu 宣布其全新一代 Vidu Q2参考生视频 功能正式上线。此次升级面向专业与半专业创作者,致力于满足他们对高想象力与高质量内容创作的不断增长需求。目前,Vidu Q2参考生...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.supersauna.de/catalogsearch/result/?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,haO
- https://www.maigoo.com/search/?block=&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,IMO
- https://www.ntv.co.jp/3min/search/?action=QUERY&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,roE
- https://www.ucycle.com/search/=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,685
- https://www.pmindia.gov.in/en/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,F2p
- https://www.teamlab.art/it/?submit=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,03H
- https://yokohama-oht.com/?action=CHECK&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,iDJ
- https://www.metalmensales.com/?action=QUERY&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,oZR
- https://www.shopping.com/search.html?keyword=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,4v3
- https://www.rotherham.gov.uk/site-search/results/?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,Vrq
- https://www.stonerealestate.com.au/?cat=100&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,WRz
- https://www.tmtpost.com/search?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,EIa
- https://www.nytimes.com/search?dropmab=true&query=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,bGj
- https://www.welshmountainzoo.org/shop/index.php?routeproduct/search&tag=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,rui
- https://www.polliwogs.com/search/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,oe1
- https://5gaa.org/?token=6e2l7hjt2i26gzgctgwdrv7v0j6nxorq&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】QZ2
- https://www.remit.co.jp/vi/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】h6H
- https://www.skicheck.at/en/?action=CHECK&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,slf
- https://www.tarleton.edu/news/search/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,X9I
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,AYp
- https://www.seagrant.wisc.edu/?page=63&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,ZQJ
- https://www.sic-info.org/vi/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,EpD
- https://www.l-and-b.jp/?page=1&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,4NC
- https://www.ussalabama.com/?action=CHECK&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,lbK
- https://www.synonyms.com/antonyms/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,eP0
- https://www.jusoen.com/addreng.asp?p1=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】b33
- https://www.universal-music.co.jp/?ID=1sIcckCTeBS8FjzCshAW9w53s8gr691o&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,XFp
- https://www.kaskus.co.id/search?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,f7C
- https://www.livehindustan.com/tags/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,pmG
- https://www.whirlpool.com.hk/chinese/catalogsearch/result?cat=30&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,H6B
- https://www.sbaad.no/search/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,SnT
- https://www.zalora.sg/catalog/?cat=112&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,xJj
- https://www.kawainter.com/catalogsearch/result/?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,ObK
- https://www.rollingstone.it/?ID=DVMeu3AlmzZE1cuJ2FmgmO5TSCQRb3yh&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,PeC
- https://www.youtube.com/hashtag/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,Kv4
- https://www.seforall.org/search?keywords=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,APL
- https://www.mygrandma.com/Items.aspx?search=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,bJl
- https://www.lyrics.com/lyrics/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,vL0
- https://www.rostaing.com/catalogsearch/result/?cat=22&q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,Wy0
- https://www.remit.co.jp/vi/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,B77
- https://www.spoiledsweetboutique.com/search/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,36n
- https://www.flickr.com/photos/tags/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】qxU
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】eNK
- https://www.lauben.com/de/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,ny1
- https://www.abbreviations.com/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】Q3l
- https://www.mintos.org/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,bKy
- https://www.sic-info.org/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,HmQ
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,3VN
- https://www.tullygroup.us/?ID=hbkq8jFjrQlVRrwzEmvoUJJAY4e1Lfo5&s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,bl3
- https://m.shoppinghow.kakao.com/m/search/q/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】imp