数据聚合与分组运算

一、GroupBy技术

 

分组运算的过程可以由拆分-应用-合并描述。

利用df.groupby()进行分组操作

1、对分组进行迭代

GroupBy对象支持迭代,可以产生一组二元元组(由分组名(可能为组合)和数据块组成)。对分出的数据片段可以做任何操作,例如将其做成一个字典。groupby默认是在axis=0上进行分组的,通过设置可以在任何其他轴上进行分组,例如还可以根据dtypes对列进行分组。

2、选取一个或一组列

对于由DataFrame产生的GroupBy对象,如果用一个或一组列名对其进行索引,就能实现选取部分列进行聚合的目的。这种索引操作所返回的对象是一个已分组的DataFrame(如果传入的是列表或数组,如df.groupby('key')[['data']])或已分组的Series(如果传入的是标量形式的单个列名,如df.groupby('key')['data'])。

3、通过字典或Series进行分组

4、通过函数进行分组

可以将函数跟数组、列表、字典、Series混合使用。

5、根据索引级别分组

层次化索引数据集能够根据索引级别进行聚合,通过level关键字传入级别编号或名称即可。

二、数据聚合

聚合是指任何能够从数组产生标量值的数据转换过程。可以使用已有的聚合函数,如mean/count/min/sum等;也可以自己定义聚合函数,只需将其传入aggregate或agg方法。

1、面向列的多函数应用

对于不同的列可以使用不同的聚合函数,也可以一次应用多个函数。

如果传入一组函数或函数名,得到的DataFrame的列就会以相应的函数命名。

如果传入的是(name,function)元组组成的列表,则各元组第一个元素为列名。

对不同的列应用不同的函数,是向agg传入一个从列名映射到函数的字典。

2、以“无索引”的形式返回聚合数据

三、分组级运算和转换

本节介绍transform和apply方法。

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

2、分位数和桶分析

四、透视表和交叉表

交叉表是一种用于计算分组频率的特殊透视表。

转载于:https://www.cnblogs.com/zhenpengwang/p/10777221.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值