
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.6 数据的聚合
数据聚合通过转换数据将每一个数组生成一个单一的数值。本节将会介绍按指定列聚合数据、分组聚合、自定义聚合等,使用的数据文件为“2020年两个学期学生考试成绩.xls”。
3.6.1 level参数:指定列聚合数据
在介绍数据聚合之前,还是创建一个关于4名学生学习成绩的数据集,代码如下:

运行上述代码,创建的数据集如下所示。

可以使用level参数指定在某列上进行数据统计。例如,统计每个学生在两个学期的平均成绩,代码如下:

代码输出结果如下所示。

level参数不仅可以使用列名称,还可以使用列索引号。例如,统计每个学生每门课的平均成绩,代码如下:

代码输出结果如下所示。

3.6.2 groupby()函数:分组聚合
下面重新创建一个关于3名学生学习成绩的数据集,代码如下:

运行上述代码,创建的数据集如下所示。

此外,groupby()函数可以实现对多个字段的分组统计。例如,统计每个学期学生每门课的平均成绩,代码如下:

代码输出结果如下所示。

3.6.3 agg()函数:自定义聚合
在Python中,计算描述性统计指标通常使用describe()函数,如个数、平均数、标准差、最小值和最大值等,代码如下:

代码输出结果如下所示。

如果想要使用自定义的聚合函数,则只需将其传入aggregate()函数或agg()函数。例如,这里定义的是sum、mean、max、min,代码如下:

代码输出结果如下所示。
