一.聚合函数
- mean
- 平均值
- sum
- 总和
- max
- 最大值
- min
- 最小值
- unique
- 唯一值计数
- std
- 标准差
二.分组计算
- 创建分组对象
- DataFrame.groupby(列名)
# 根据year创建分组对象 df.groupby('year')
- 创建Series\DataFrame分组对象
- 分组对象[列名]
# 加载分组对象的指定列(返回值是Series分组对象) df.groupby('year')['country'] # 加载分组对象的指定列(返回值是DataFrame分组对象) df.groupby('year')[['country', 'lifeExp']]
- 对Series\DataFrame分组对象求聚合值
- Series\DataFrame分组对象.聚合函数
# 对Series分组对象求平均值 df.groupby('year')['lifeExp'].mean() # 对DataFrame分组对象求平均值 df.groupby('year')[['pop', 'lifeExp']].mean()
三.实际应用
- 对单列分组对指定单列计算聚合值
- DataFrame.groupby(分组列名)[指定列名].聚合函数
# 对year进行分组,对lifeExp列求平均值 df.groupby('year')['lifeExp'].mean()
- 对多列值进行分组计算聚合值
- DataFrame.groupby([分组列名])[[指定列名]].聚合函数
# 对year列和continent列进行分组,对lifeExp列和gdpPercap列求最大值 df.groupby(['year', 'continent'])[['lifeExp','gdpPercap']].max() # 对year列和continent列进行分组,对lifeExp列和gdpPercap列求最大值(去掉索引的层级结构) df.groupby(['year', 'continent'])[['lifeExp','gdpPercap']].max().reset_index()