5 数据聚合与数据透视
① 数据聚合
一.定义
通过不同变量对大型数据帧进行分组,以及对每个组应用汇总函数的任务。这时需在pandas中使用DataFrame对象的groupby函数和 agg函数完成。
二.导入实验数据集
三.数据集字段释义
phone.csv数据集包含830个记录共7个字段,以下对各字段进行简单解释
index:数据集索引;
date:输入的日期和时间;
duration:每个呼叫的持续时间(以秒为单位),每个数据条目的数据量(以 MB 为单位),以及每个 sms 条目发送的文本数(通常为 1);
item:事件发生的描述——可以是呼叫,短信或者数据之一;
month:每个条目所属的结算月份——形式为 “YYYY-MM”;
network:为每个条目调用 / 发送的移动网络;
network_type:被呼叫的号码是移动,国际,语音邮件,固定电话还是其他特殊号码。
预处理date字段
四.简单聚合DataFrame
五.groupby
groupby函数将返回groupby对象,但实际上描述了如何拆分原始数据集的行。groupby对象groups变量是一个字典,其键(keys)是计算的唯一组,对应的值是属于每个组的轴标签。
1.聚合DataFrame中的组
2.具体示例
max(),min(),mean(),first(),last()等函数,可以快速应用于groupby对象,以获取每个组的汇总统计信息。groupby是一个非常有用的函数,可以从每个摘要中查看不同的变量。
3.注意要点
六.agg
agg函数提供的聚合功能允许在一次计算中按组计算多个统计数据。语法很简单,聚合指令以字典或列表的形式提供。
1.将单个函数应用于组中的列
2.将多个函数应用于组中的列
② 数据透视
一.定义
大多数人可能都有使用Excel中的数据透视表的经验。pandas提供了一个类似的功能,称为pivot_table。
二.导入实验数据集
三.数据透视
1.单索引
2.多索引
3.values字段显示定义我们关系的列
4.aggfunc可进行数据运算
5.columns变量可以定义一个或多个列
6.margins = True可以查看汇总数据
7.高级数据透视表过滤