数据分析—Pandas 中的分组聚合Groupby 高阶 *** 作

数据分析—Pandas 中的分组聚合Groupby 高阶 *** 作,第1张

Pandas 的 groupby() 功能很强大,用好了可以方便的解决很多问题,在数据处理以及日常工作中经常能施展拳脚。

这篇文章适合有pandas基础的同学阅读,更多的会解释调用.mean()时发生了什么,及更多高阶用法。今天,我们一起来领略下 groupby() 的魅力吧。

分组聚合是对数据集进行分类,并在每一组上应用聚合函数或转换函数。如下图理解更清晰:

首先,引入相关 package :

经常用 groupby 对 pandas 中 dataframe 的各列进行统计,包括求和、求均值等。

我们测试一下,将df数据集填充几个NaN。数据最终如下图:

下面是count()和size()的对比

上面运算的结果分析:{'group1':'A', 'group2':'C'} 的组合共出现3次,即 index为 0,1,2。对应 "B" 列的值分别是 "one","NaN","NaN",由于 count() 计数时不包括NaN值,因此 {'group1':'A', 'group2':'C'} 的 count 计数值为 1 。

transform() 方法会将该计数值在 dataframe 中所有涉及的 rows 都显示出来(我理解应该就进行广播)

(a)bins=4

(b)bins=[19, 40, 65, np.inf]

在对数据进行分段分组时,可采用cut方法,用bins的方式实现。这种情况一般使用于,对于年龄、分数等数据。

看到这里,你已经很棒啦,这篇文章总结了分组聚合函数的一些干货技巧,码字不易,记得点赞关注呀❤

希望本文的内容对大家的学习或者工作能带来一定的帮助,每天进步一点点,加油~

pandas分组统计加数据方法:

1、分组使用聚合函数做数据统计。

2、遍历groupby的结果理解执行流程。pandas分组是一个常用的功能,如分别统计每个月的股票波动率、每个部门的人数、每个季度的利润等等。

groupby 方法是pandas中的分组方法,对数据框采用 groupby 方法后,返回的是 DataFrameGroupBy 对象,一般分组 *** 作后会进行聚合 *** 作。

对数据框按 A 列进行分组,产生分组数据框。分组数据框是可迭代对象,可以进行循环遍历,可以看出在循环中,每个元素的类型是元组,

元组的第一个元素是分组值,第二个元素是对应的分组数据框。

可以对分组后的数据框直接使用聚合方法 agg ,对分组数据框的每一列计算统计函数值。

可以根据数据框外的序列数据对数据框进行分组,需要注意 序列长度需要与数据框行数相同

可以根据数据框的多列对数据框进行分组。

根据 A , B 列进行分组,然后求和。

可以根据索引对数据框进行分组,需要设置 level 参数。

数据框只有一层索引,设置参数 level=0 。

当数据框索引有多层时,也可以根据需求设置 level 参数,完成分组聚合。

设置 level 参数,如需要根据第一层索引,即 id1 进行分组,可以设置 level=0 或 level='id1' 完成分组聚合。

分组后一般会进行聚合 *** 作,用 agg 方法进行聚合。

对分组后数据框使用单个函数进行聚合,单个聚合函数会对每列进行计算,然后合并返回。聚合函数以字符串的形式传入。

可以对分组后的数据指定列进行分组聚合。需要注意 子列需要用[]包裹

聚合函数也可以传入自定义的匿名函数。

聚合函数可以是多个函数。聚合时,多个聚合函数会对每列进行计算,然后合并返回。聚合函数以列表的形式传入。

聚合返回后的数据列名有两层索引,第一层是聚合的列名,第二层是使用的聚合函数名。如果需要对返回的聚合函数名重命名,

需要在传参时,传入元组,第一个元素为聚合函数名,第二个元素为聚合函数。

同样,也可以传入匿名函数。

如果需要对不同的列进行不同的聚合计算,则需要传入字典的形式。

可以重命名聚合后的列名,注意 只能对一列传入一个聚合函数时有效


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11735070.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存