数据的聚合运算

聚合就是在groupby方法对数据进行分组时,GroupBy对象高效的对数据进行切片,对每个切片使用指定的运算方法,并将结果组装成最终结果的过程。

下表列出的是最常使用的作用于GroupBy对象的聚合运算方法。

 1.选取GroupBy对象的一列聚合运算

 2.选取GroupBy对象的多列聚合运算

 

3.自定义聚合函数(aggregate和agg方法)

如果使用的是自己编写的聚合函数,需要使用aggregate或者agg方法传入GroupBy对象后才能被执行,

在这里插入图片描述

 

聚合高级应用

首先创建一个小费的DataFrame用于之后的演示

在这里插入图片描述

 

面向列的多函数应用

之前使用 aggregate方法,或者直接使用pandas的聚合方法都是对一个或者多个列执行同一种方法,在这里插入图片描述现在有需求是同时对不同列使用不同的聚合方法,继续使用上方的小费数据集,

 

1)agg方法对GroupBy对象的一列使用一个方法

在这里插入图片描述

 

2)agg方法对GroupBy对象的一列使用多个方法

在这里插入图片描述

 

3)agg方法对多列使用多种相同的方法

在这里插入图片描述
得到的结果列名也是层次化的,

 在这里插入图片描述

 

4)agg方法对分组变量的多列使用多种不同的方法

具体的做法是传入一个字典,key是要操作的列名,value是执行的不同的函数,
在这里插入图片描述

 

无索引形式返回聚合变量(groupby方法as_index=False)
之前的例子中,用于分组的列都最终变为分组变量和聚合变量的索引,如果设置groupby方法的as_index参数为False,则用于分组的列不会以索引形式出现在结果中,但是出现在最前面的列中,

在这里插入图片描述

 官方文档中提示,as_index=False会在一定程度上使结果缺乏灵活性。

分组别运算和转换

1)transform方法

在这里插入图片描述
一般的,mean方法是对分组变量进行操作,最终得到的也是分组的结果,
在这里插入图片描述在这里插入图片描述

 在这里插入图片描述

 transform所得结果的索引与源数据相同,此外,transform方法也支持传入自定义函数,
在这里插入图片描述

 

2)apply方法

在这里插入图片描述
该方法的演示使用之前的小费数据集,apply方法将数据分成小块,并对每一块使用传入的方法,最后再将各片段组合。首先选出tip_pct最高的几个记录,

 在这里插入图片描述

 在这里插入图片描述

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值