Pandas学习笔记05-分组统计与数据透视表


对数据集进行分类,并在每组数据上进行聚合操作,是非常常见的数据处理,类似excel里的分组统计或数据透视表功能。
pandas提供了比较灵活的groupby分组接口,同时我们也可以使用pivot_table进行透视处理。

1.分组

分组函数groupby,对某列数据进行分组,返回一个Groupby对象。
Pandas学习笔记05-分组统计与数据透视表
在进行groupby分组后,我们可以对分组对象进行各种操作,比如求分组平均值mean()
Pandas学习笔记05-分组统计与数据透视表
很多时候,我们需要返回dataframe型数据进行二次操作
Pandas学习笔记05-分组统计与数据透视表
size()方法可以获取各分组的大小
Pandas学习笔记05-分组统计与数据透视表

遍历分组
Pandas学习笔记05-分组统计与数据透视表
[[]]和[]在返回结果上的区别
Pandas学习笔记05-分组统计与数据透视表
有时候,我们可以通过传递函数进行分组,简化代码
Pandas学习笔记05-分组统计与数据透视表

2.聚合

常见的聚合函数如下:

功能 描述
mean() 计算组的平均值
sum() 计算组值之和
size() 计算组大小
count() 计算组计数
std() 组的标准偏差
var() 计算组的方差
sem() 均值的标准误
describe() 生成描述性统计
first() 计算组值的第一个
last() 计算组值的最后一个
nth() 取第n个值,如果n是一个列表,则取一个子集
min() 计算组值的最小值
max() 计算组值的最大值

Pandas学习笔记05-分组统计与数据透视表
简单的分组聚合操作
Pandas学习笔记05-分组统计与数据透视表
同时使用多种聚合方法
Pandas学习笔记05-分组统计与数据透视表
对聚合结果列进行命令
Pandas学习笔记05-分组统计与数据透视表
对不同的列进行不同的聚合方法
Pandas学习笔记05-分组统计与数据透视表

3.数据透视

数据透视采用pivot_table方法,和excel数据透视表功能类似,其实可以和groupby分组统计进行相互转化

它带有许多参数:
data:一个DataFrame对象。
values:要汇总的一列或一列列表。
index:与数据或它们的列表具有相同长度的列,Grouper,数组。在数据透视表索引上进行分组的键。如果传递了数组,则其使用方式与列值相同。
columns:与数据或它们的列表具有相同长度的列,Grouper,数组。在数据透视表列上进行分组的键。如果传递了数组,则其使用方式与列值相同。
aggfunc:用于汇总的函数,默认为numpy.mean。

Pandas学习笔记05-分组统计与数据透视表
数据透视操作
Pandas学习笔记05-分组统计与数据透视表对不同列使用不同的方法
Pandas学习笔记05-分组统计与数据透视表
margins增加合计项
Pandas学习笔记05-分组统计与数据透视表