Python之数据聚合与分组运算

Python之数据聚合与分组运算

1. 关系型数据库方便对数据进行连接、过滤、转换和聚合。

2. Hadley Wickham创建了用于表示分组运算术语“split-apply-combine”(拆分-应用-合并)。

3. GroupBy的size方法,它可以返回一个含有分组大小的Series。

4. gorupby对分组进行迭代,可以产生一组二元元组(由分组名和数据块组成)。

5. 选取一个或以组列

对于由GroupBy对象,如果用一个(单个字符串)或一组(字符串数组)列名对其进行索引,就能实现选取部分列进行聚合的目的。

6. 通过字典或Series进行分组。

7. 根据索引级别分组:层次化索引数据集最方便的地方就在于它能够根据索引级别进行聚合。要实现该目的,通过level关键字传入级别编码或者名称即可。

8. 数据聚合,对于聚合是指能够从数组产生标量值的数据转换过程。

9. 聚合只不过是分组运算的其中一种,它是数据转换的特例。

10 apply:一般性的“拆分-应用-合并”

最一般化的GroupBy方法是apply,它会将待处理的对象拆分成多个片段,然后对个片段调用传入的函数,最后尝试将各片段组合到一起。

11 分位数和桶分析

pandas有一些可以根据指定面元或样本分位数将数据拆分成多块的工具(比如cut和qcut)。将这些函数跟GroupBy结合起来,就能轻松地实现对数据集的桶(bucket)或分位数(quantile)分析。

12 透视表(pivot table)是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。

13 交叉表(cross-tabulation,简称crosstab)是一种用于计算分组频率的特殊透视表。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JetpropelledSnake

Django学习笔记之Django QuerySet的方法

1165
来自专栏恰同学骚年

剑指Offer面试题:27.最小的k个数

  这道题是典型的TopK问题,其最简单的思路莫过于把输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数。这种思路的时间复杂度是O(nlogn),但...

1052
来自专栏对角另一面

lodash源码分析之baseFindIndex中的运算符优先级

我悟出权力本来就是不讲理的——蟑螂就是海米;也悟出要造反,内心必须强大到足以承受任何后果才行。 ——北岛《城门开》 本文为读 lodash 源码的第十篇,后...

27011
来自专栏JMCui

Hybris IMPEX

1、Impex是基于java Model的一种面向对象的数据操作手段,因此写impex代码前需要理清java Model之间的依赖关系。 2、基本语法:mode...

3556
来自专栏码农分享

SQL Server 多表数据增量获取和发布 4

最关键的在于获取捕获表信息(系统表中间_CT结尾的数据)。 根据网上资料查取,找到了获取当前捕获表时间区间范围内数据的方式。 见[SQL Server 多表...

992
来自专栏对角另一面

lodash源码分析之baseFindIndex中的运算符优先级

本文为读 lodash 源码的第十篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash

1948
来自专栏TungHsu

这或许是对小白最友好的python入门了吧——9,数字深入体验

先给大家介绍一个函数:range(),这个函数是用来干嘛的呢?很简单,数数的,怎么数呢,我先给大家演示一下: for num in range(1,5): ...

3708
来自专栏闻道于事

数据库规范与数据类型选择

NUMBER :精度最高可达20个基数-100位,相当于39或40位十进制数,具体取决于小数点的位置。

1363
来自专栏性能与架构

Mysql order by排序优化

1. 加大max_length_for_sort_data参数的设置 在MySQL中,排序算法分为两种,一是只加载排序字段到内存,排序完成后再到表中取其他字段,...

3465
来自专栏xingoo, 一个梦想做发明家的程序员

Lucene查询语法详解

Lucene查询 Lucene查询语法以可读的方式书写,然后使用JavaCC进行词法转换,转换成机器可识别的查询。 下面着重介绍下Lucene支持的查询: Te...

3569

扫码关注云+社区