数据聚合

聚合是指所有根据数组产生标量值的数据转换过程。之前的例子已经使用了一些聚合操作,包括mean、count、min和sum等。

下表展示了优化的groupby方法。

可以使用自行制定的聚合,并再调用已经在分组对象上定义好的方法。

尽管quantile并不是显式地为GroupBy对象实现的,但它是Series的方法,因此也可以用于聚合。在内部,GroupBy有效地对Series进行切片,为每一块调用piece. quantile(0.9),然后将这些结果一起组装到结果对象中:

要使用你自己的聚合函数,需要将函数传递给aggregate或agg方法:

一些方法,比如describe也是有效的,尽管严格来说它们并不是聚合函数:

注意:自定义聚合函数通常比表10-1中的优化函数慢得多。这是因为在构造中间组数据块时有一些额外的开销(函数调用、数据重新排列)。

1、逐列及多函数应用

让我们回到之前例子中的小费数据集。在使用read_csv载入数据集后,增加一个小费比例列tip-pct:

对Series或DataFrame所有列进行聚合就是使用aggregate和所需函数,或者是调用像mean或std这种方法的。首先,将根据day和smoker来对tips进行分组:

可以将函数名以字符串形式传递:

如果传递的是函数或者函数名的列表,会获得一个列名是这些函数名的DataFrame:

传递了聚合函数的列表给agg方法,这些函数会各自运用于数据分组。

在DataFrame中,有更多的选项,可以指定应用到所有列上的函数列表或每一列上要应用的不同函数。计算tip_pct列和total_bill列的三个相同的统计值:

产生的DataFrame拥有分层列,与分别聚合每一列,再以列名作为keys参数使用concat将结果拼接在一起的结果相同:

2、返回不含行索引的聚合数据

在前面所有的例子中,聚合数据返回时都是带有索引的,有时索引是分层的,由唯一的分组键联合形成。因为不是所有的情况下都需要索引,所以在大多数情况下可以通过向groupby传递as_index=False来禁用分组键作为索引的行为:

当然,通过在结果上调用reset_index也可以获得同样的结果。使用as_index=False可以避免一些不必要的计算。

python聚合函数_Python 数据聚合 - 树懒学堂相关推荐

  1. python字符串操作_Python 字符串操作 - 树懒学堂

    字符串操作 由于Python在字符串和文本操作上的便利性,使Python成为一个流行的原生数据集操作语言已经有很长时间了.字符串对象的内建方法使得大部分文本操作非常简单.对于更为复杂的模式匹配和文本操 ...

  2. python hist函数_Python数据可视化:一文读懂直方图和密度图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 用matplotlib生成基本图形非常简单,只需要几行代码,但要创建复杂的图表,需要调用更多的命令和反复试验,这要求用 ...

  3. 【Python】GroupBy:数据聚合与分组运算

    [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/sunyaowu315/article/details/ ...

  4. mysql 聚合函数嵌套_Mysql聚合函数嵌套如何使用 Mysql聚合函数嵌套使用方法

    Mysql聚合函数嵌套如何使用?本篇文章小编给大家分享一下Mysql聚合函数嵌套使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 目的:Mysql 聚合函数嵌套使用 ...

  5. python zip函数_Python zip()函数

    python zip函数 Good day learners, hope that you are doing well. We discussed about Python Modulo in ou ...

  6. python画树林_Python数据可视化-支付宝蚂蚁森林能量收取记录

    支付宝蚂蚁森林模块最早从2016年推出,题主最开始从支付宝集福活动开始接触.期间懒懒散散收过一些能量,但是相比朋友圈动辄几十几百公斤的能量值,我的能量值只有20Kg,想种棵胡杨连零头都不够.所以,本着 ...

  7. python resample函数_python时序分析之重采集(resample)

    接着上一回说到的时序分析,上一回主要是学习了datetime库和pandas.to_datetime模块. 今天我们要学习的是resample,这一讲的内容很多,也有很多有意思的东西. 老规矩,用到的 ...

  8. python 抽样函数_python中resample函数实现重采样和降采样代码

    函数原型 resample(self, rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='s ...

  9. python agg函数_Python pandas.DataFrame.agg函数方法的使用

    DataFrame.agg(func, axis=0, *args, **kwargs) 使用指定axis上的一个或多个操作Aggregate. 参数:func: function, str, lis ...

最新文章

  1. 【pytorch】torch.mean的使用
  2. Javascript实现复选框(全选反选功能)
  3. Leetcode Excel Sheet Column Number
  4. v-if 的区别v-show
  5. Python学习路线介绍
  6. 抓包,反抓包,反反抓包
  7. java中的==和equals的区别
  8. html新建盒子,html+css 盒子模式展示(备查)
  9. Redis与Redisson的分布式锁
  10. 透明质酸修饰牛血清蛋白|HA-BSA|荧光FITC标记透明质酸|FITC-peg-BSA
  11. 近端梯度法(proximal gradient)
  12. 1万小时缔造的世界第一程序员
  13. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么
  14. 如何降低TCP三次握手延迟负面影响
  15. Android官方技术文档翻译——开发工具的构建概述
  16. chisel边沿检测电路实现(Reg延迟特性)
  17. Jmeter和jdk的下载和安装
  18. Mari教程20部合集
  19. JavaScript中mouseover和mouseout多次触发解决办法
  20. MongoDB - 副本集简介

热门文章

  1. C#,彩票数学——彩票预测是玄学还是数学?什么是彩票分析?怎么实现彩票号码的预测?
  2. SpringBoot+Vue实现前后端分离的学校快递站点管理系统
  3. 创业低谷期时怎么度过?
  4. 电商Banner设计背后的12个人性的秘密
  5. 新支点ICG聚合路由器在新闻发布会直播的应用方案
  6. Scratch的方向
  7. 中国计算机学会2022年度CCF会士名单公布 阿里云李飞飞等9位当选
  8. [概念] 敏感性分析(Sensitivity Analysis) 和龙卷风图(tornado diagram)
  9. Android Dialog隐藏消失时软键盘无法收回问题解决
  10. arduino与hcsr04_超声波传感器HC-SR04和Arduino进行距离计算