1、分组与聚合原理:
分组是使用特定的条件将元数据进行划分为多个组。聚合是对每个分组中的数据执行某些操作,最后将计算结果进行整合。
分组与聚合的过程大概分三步:
- 拆分:将数据集按照一些标准拆分为若干组。
- 应用:将某个函数或者方法应用到每个分组。
- 合并:将产生的新值整合到结果对象中。
2、通过 groupby() 方法将数据拆分成组
常用的分组方式有4种:
- 列表或数组,其长度必须与分组的轴一样。
- DataFrame对象中的某列的名称
- 字典或Series对象,给出待分组轴上的值与分组名称之间的对应关系。
- 函数,用于处理轴索引或者索引中的各个标签。
例如通过列明进行分组
3、数据聚合
一般是指对分组中的数据执行某些操作,比如求平均值、最大值等,并且会得到一个结果集。
3、1使用内置统计方法聚合数据,比如求最大值或最小值的max()和mix()
3、2面向列的聚合方法:当内置方法无法满足时,这时可以自定义一个函数,将它传递给agg()方法。
4、分组级运算
1、数据转换
前面使用agg()方法进行聚合运算时,返回的数据集的形状与被分组数据集的形状是不同的,如果希望保持与元数据集的形状,可通过使用 transfrom() 方法实现。
2、数据应用
当不适用agg()方法进行聚合,也不适用transform()方法时进行转换时。apply() 方法就可以排上用场了、它可以作用于数据集的每一行每一列元素。