大家好,我是东哥。
本篇是pandas100个骚操作系列的第14篇:groupby的 8 个常用骚操作!
系列内容,请看「」话题,订阅后文章更新可第一时间推送至订阅号。
pandas的groupby是数据处理中一个非常强大的功能。虽然很多同学已已经非常熟悉了python中groupby函数的用法,但有些小技巧还是要和大家普及一下的。
为了给大家演示,我们采用一个公开的数据集进行说明。
随机采样5条,数据是长这样子的。
因为是分组功能,所以被分的对象肯定是类别型的。在这个数据里,这里我们就以species进行分组举例。
首先,以species分组创建一个groupby的object。这里单独生成groupby对象是因为后面会反复用到,其实用的熟练了直接链接起来就可以了。
一、创建频率表
假如我想知道每个species类中的数量有多少,那么直接使用groupby的size函数即可,如下。
二、计算常用的描述统计量
比如,我想要按组计算均值,那么就用mean()函数。
默认情况下如果没有限制,那么mean()函数将对所有变量特征计算均值。如果我希望只计算某一个变量的均值,可以指定该变量,如下所示。
同理,其它描述性统计量min、max()、medianhe和std都是一样的用法。
三、查找最大值(最小值)索引
如果我们要查找每个组的最大值或最小值的索引时,有一个方便的功能可以直接使用。
如何应用呢?
比如我们想查找每组sepal_length最大值对应的整条记录时,就可以这样用。注意,这里是整条记录,相当于按sepal_length最大值这个条件进行了筛选。
四、Groupby之后重置索引
很多时候,我们在groupby处理后还要进行其他操作。也就是说,我们想重置分组索引以使其成为正常的行和列。
第一种方法可能大家常用,就是通过reset_index()让乱序索引重置。
但其实,还有一个看上去更加友好的用法。可以在groupby的时候就设置as_index参数,也可以达到同样效果。
五、多种统计量汇总
上面都是单个统计量的操作,那如果我想同时操作好几个呢?
groupby还有一个超级棒的用法就是和聚合函数agg连起来使用。
在agg里面,我们只要列出统计量的名称即可,便可同时对每个列进行多维度统计。
六、特定列的聚合
我们也看到了,上面是的多个操作对于每个列都是一样的。实际使用过程中,我们可能对于每个列的需求都是不一样的。
所以在这种情况下,我们可以通过为不同的列单独设置不同的统计量。
7、NamedAgg命名统计量
现在我又有新的想法了。上面的多级索引看起来有点不太友好,我想把每个列下面的统计量和列名分别合并起来。可以使用NamedAgg来完成列的命名。
因为NamedAgg是一个元组,所以我们也可以直接赋值元组给新的命名,效果一样python中groupby函数的用法,但看上去更简洁。
)
八、使用自定义函数
上面agg聚合函数中我们都是通过添加一个统计量名称来完成操作的,除此之外我们也可直接给一个功能对象。
不仅如此,名称和功能对象也可一起使用。
更骚的是,我们还可以自定义函数,也都是可以的。
当然如果想更简洁,也可以使用lambda函数。总之,用法非常灵活,可以自由组合搭配。
以上就是使用groupby过程中可能会用到的8个操作,如果你熟练使用起来会发现这个功能是真的很强大。
<h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;font-weight: bold;font-size: 1.3em;letter-spacing: 0.544px;font-family: PingFangSC-Light"><span style="margin-right: 3px;padding: 3px 10px 1px;border-top-right-radius: 3px;border-top-left-radius: 3px;font-size: 17px">精选文章</span></h2><h1><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;letter-spacing: 0.544px"><section><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650076934&idx=1&sn=dcef8fae7b9b4cb2febaa5b86e194cc9&chksm=f1f74619c680cf0f7c29c129c59b7cc052062f375cdff4e8e7082afaeb33ed384a74e94df9a9&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener"><span><strong><span style="font-size: 12px">系列视频|Python网络爬虫与文本数据分析</span></strong></span></a></section><section><strong><span style="font-size: 12px"></span><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650077241&idx=1&sn=57ea7261fcc287c9e6a63100133d4af5&chksm=f1f74926c680c0306a4101ff9b907c49bd560e2f16f7e54437e55a9e34d9afbfeb4a784c2bb8&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">B站视频 | Python自动化办公</a></span></strong><br /></section><section><strong><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074940&idx=1&sn=b920d974cb0ba4f6d577cbf30253fb46&chksm=f1f75e23c680d7355ac0ce7293cc35c75251be283cd5b47436b3f803e76f9f3b979a445d4534&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">bsite库 | 采集B站视频信息、评论数据</a></span></strong><br /></section><section><strong><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650077286&idx=2&sn=6d8a3c6ae6ab8b91d8d97197d903e0b8&chksm=f1f74979c680c06f831e83146cade91274454cd26a1f11f6f3fb36e5d9457f38ce84cd14e2a2&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">texthero包 | 支持dataframe的文本分析包</a></span></strong></section><section><strong><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650075913&idx=2&sn=688bd03aa845ac8fa29fb92abd6cc3d0&chksm=f1f74216c680cb00ebe3e47847b519dccf743b9c34461a5688ae4ecfa4f18ebbdaa3c12525de&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">爬虫实战 | 采集&可视化知乎问题的回答</a></span></strong></section><section><strong><strong><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650076027&idx=2&sn=417dcf26c9e50fdbcfaa7db3f2c8e6b6&chksm=f1f74264c680cb72a3cddb8c73cb2f7fba8c0ddc57168043472b6aee7b8f4fa13ea19e474907&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">pdf2docx库 | 转文件格式,支持抽取文件中的表格数据</a></span></strong></strong></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074407&idx=1&sn=11fe665fb26d6519a8738b3cca9af527&chksm=f1f75c38c680d52eb7e27110fdd39d81894f76502a81c1141e2de4f24f5f6894d4ccf94e9f84&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">rpy2库 | 在jupyter中调用R语言代码</a></span></section><section><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074453&idx=1&sn=00e4e7851290de8eb0f70256fb64f023&chksm=f1f75c4ac680d55c2c8adcece93258be0953de8cb5338557275475c6baacdc83cc18dcb4d74a&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" style="font-size: 12px" rel="noopener">tidytext | 耳目一新的R-style文本分析库</a></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074512&idx=1&sn=b096ab63bc2f39df8f7d275906962004&chksm=f1f75c8fc680d599b329d6485dcb2579e837d87287d915101b189b4b1efb01304acd71e657f9&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">reticulate包 | 在Rmarkdown中调用Python代码</a></span></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074438&idx=1&sn=3a16075de9eebed9c2c0010a95a1f177&chksm=f1f75c59c680d54f239c6d2a1824c1bec3c8d860e9972c0b0d2cd235e903e49f69cfddf6b510&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">plydata库 | 数据操作管道操作符>></a></span></section><section><span style="font-size: 12px"></span><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074005&idx=1&sn=7bca7b5bf7cc6cbf748f7f873dfb74f6&chksm=f1f75a8ac680d39c6d50ad3ec6f99ac4ab67df1f133aecfda92dc3ef06c1261e0b58c0cbd0ce&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">plotnine: Python版的ggplot2作图库</a></span><br /></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074387&idx=1&sn=76b0fdf05a2a72a960e5ef56234c5ea9&chksm=f1f75c0cc680d51a1490724910d9c58f3d61718020a95a3e0083a91399e51e3d014c75089dd0&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">七夕礼物 | 全网最火的钉子绕线图制作教程</a></span><br /></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650073067&idx=1&sn=ccffb97b7693eb128c0c4715fc5f1787&chksm=f1f756f4c680dfe26db49614fb5e4fe54500e95c103f844707776598a6d9362dff9141a6f18e&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">读完本文你就了解什么是文本分析</a></span><br /></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650073829&idx=1&sn=68650725b0b7c93ca46eb3d9c0a7f2f6&chksm=f1f75bfac680d2ecb5a8c3565241ce3edb0e8d06c04f0a5a5243ba887d2daf02651329f88e28&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">文本分析在经管领域中的应用概述</a> </span></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650073220&idx=1&sn=02dca6c2b0de0ca36b94e3410cbda097&chksm=f1f7599bc680d08d9203c8deb8fc223500d48c5bf940cae1e5b2098d36ad27ec3a62de9cc87a&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">综述:文本分析在市场营销研究中的应用</a><br /></span></section><section><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650074005&idx=1&sn=7bca7b5bf7cc6cbf748f7f873dfb74f6&chksm=f1f75a8ac680d39c6d50ad3ec6f99ac4ab67df1f133aecfda92dc3ef06c1261e0b58c0cbd0ce&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" style="letter-spacing: 0px;font-size: 12px" rel="noopener">plotnine: Python版的ggplot2作图库</a></section><section><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650073684&idx=1&sn=5ade4b5d8952b476b19f6d329c036b16&chksm=f1f75b4bc680d25db06a16a3056d94f6fb24a0dd4db314b37e964d7d3c9c368ac61992818c32&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" style="font-size: 12px;letter-spacing: 0px" rel="noopener">小案例: Pandas的apply方法</a><span style="font-size: 12px;letter-spacing: 0px"> </span></section><section><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650073991&idx=1&sn=5e0d2af9bba4b795396425b5dc559e41&chksm=f1f75a98c680d38ef4191cdd198a6d68ec620f36a64f83aaf6ffe9d028ed6b6e568509be8726&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" style="font-size: 12px;letter-spacing: 0px" rel="noopener">stylecloud:简洁易用的词云库</a><span style="font-size: 12px;letter-spacing: 0px"> </span></section><section><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650073941&idx=1&sn=e8c874831a3bd57f0ff5ce3d5ffa2d1f&chksm=f1f75a4ac680d35cd1d02417796204e2edb1d88330c32074abc30c447dcc6aad252f7516fe79&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" style="font-size: 12px;letter-spacing: 0px" rel="noopener">用Python绘制近20年地方财政收入变迁史视频</a><span style="font-size: 12px;letter-spacing: 0px"> </span></section><section><span style="font-size: 12px;letter-spacing: 0px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650072580&idx=1&sn=9d93854c5b9e03928c9c1036d05bc094&chksm=f1f7571bc680de0d1ce1677524cd77f5a5c5f2d80bacf807ff61850d99b66310680d62b3041b&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">Wow~70G上市公司定期报告数据集</a><br /></span></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650072170&idx=1&sn=6fe99c94dd3e2219ee31a4e57f9bce9c&chksm=f1f75575c680dc63fe0c04849d4dfce1cd19ebe2ae120b3b65541b603aa791999654df3a0125&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">漂亮~pandas可以无缝衔接Bokeh</a> </span></section><section><span style="font-size: 12px"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650071871&idx=1&sn=1ac8c58b3f8ce9ef3bca31bed97700ed&chksm=f1f75220c680db36d6a4c12cdcef17dbb9cc640f832e9d0a7e53bc22aaf1f2f451c17f2b8002&scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="2" rel="noopener">YelpDaset: 酒店管理类数据集10+G</a> </span></section><section><br /></section>
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99