注:本博客跟随此Pandas教程进行学习,有兴趣可以学习一下。
先上一张框架图:
理论部分
- 第3章 分组
- 一. SAC过程
- 1.内涵
- SAC指的是分组操作中的split-apply-combine过程
- 其中split指基于某一些规则,将数据拆成若干组,apply是指对每一组独立地使用函数,combine指将每一组的结果组合成某一类数据结构
- 2.apply过程
- 在该过程中,我们实际往往会遇到四类问题:
- 整合(Aggregation)——即分组计算统计量(如求均值、求每组元素个数)
- 变换(Transformation)——即分组对每个单元的数据进行操作(如元素标准化)
- 过滤(Filtration)——即按照某些规则筛选出一些组(如选出组内某一指标小于50的组)
- 综合问题——即前面提及的三种问题的混合
- 二.groupby函数
- 1.分组函数的基本内容
- a 根据某一列分组
- 经过groupby后会生成一个groupby对象,该对象本身不会返回任何东西,只有当相应的方法被调用才会起作用
- b 根据某几列分组
- c 组容量与组数
- d 组的遍历
- e level参数(用于多级索引)和axis参数
- 2.groupby对象的特点
- a 查看所有可调用的方法
- b 分组对象的head和first
- c 分组依据
- d groupby的[]操作
- e 连续性变量分组
- 三. 聚合,过滤和变换
- 1.聚合
- a 常用聚合函数
- 所谓聚合就是把一堆数,变成一个标量,因此mean/sum/size/count/std/var/sem/describe/first/last/nth/min/max都是聚合函数
- b 同时使用多个聚合函数
- c 使用自定义函数
- d 利用NamedAgg函数进行多个聚合
- e 带参数的聚合函数
- 2 过滤
- 3 变换
- a 传入对象
- b 利用变换方法进行组内标准化
- c 利用变换方法进行组内缺失值的均值填充
- 四.apply函数
- 1.apply函数的灵活性
- apply函数的灵活性很大程度来源于其返回值的多样性:
- 2.用apply同时统计多个指标
先整理理论部分,回头再把坑填满