pandas教程:[11]aggregate分组计算
一旦对数据分组,接下来一定是对各组数据进行计算,这是通过groupby.aggregate()实现的,我们来看一下今天的例子:
先引入必要的模块,然后创建一个DataFrame对象,如果你看了前几篇文章,应该已经知道这个DataFrame了。
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/c99358fe474ec28394dfea5cbe4f50b8b53e1cf4.jpg)
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/d2987775f2c4ec99e723d5b2c3fe1e425c6b07f4.jpg)
根据两个索引color、food进行分组
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/92174dbbf82064fb406be0928e6104a354e96ff4.jpg)
计算各组总和:
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/562787cf02532f63c4e53185699147e832e05cf4.jpg)
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/49701aebf6a75f0f754ba55d97324b18502c4cf4.jpg)
计算结果默认使用了两个分组索引color和food作为新的DataFrame的索引(注意计算结果为一个DataFrame对象),可以使用reset_index()来将两个索引转化为列变量
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/7d34fbf4fcf5ee0d33af7b64f96b0ce264e7baf4.jpg)
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/f367139a310e1799cb4b6b0bc9406afec214a3f4.jpg)
在分组是也可以使用as_index参数达到reset_index()的效果:
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/3761a73acd8920c51d6e5986568a59de440788f4.jpg)
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/95bd4e8c9bcec7f8c0168c6e034ce54a2e27fbf4.jpg)
另外我们经常用到的一个方法为size()返回各组数据量
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/90c61d1c99c0affcb8e7f59c2372941fbfe4eaf4.jpg)
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/db196cdade49610ffa377cb7a56817e950e1d2f4.jpg)
最后,还有一个经常用到的方法为describe(),对各组数据进行描述性统计:
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/35f2224133bad341941c3084427622bc7cc52cf5.jpg)
![pandas教程:[11]aggregate分组计算](https://exp-picture.cdn.bcebos.com/b442d6d246fe474e64e2e20cb0ef354f51b81ff5.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:140
阅读量:159
阅读量:104
阅读量:81
阅读量:38