注:本博客跟随此Pandas教程进行学习,有兴趣可以学习一下。
先上一张框架图:
- 第4章 变形
- 一 透视表
- pivot
- 一般状态下,数据在DataFrame会以压缩(stacked)状态存放,例如上面的Gender,两个类别被叠在一列中,pivot函数可将某一列作为新的cols:
- privot_table
- ① aggfunc:对组内进行聚合统计,可传入各类函数,默认为’mean’
- ② margins:汇总边际状态
- ③ 行、列、值都可以为多级
- crosstab(交叉表)
- 交叉表是一种特殊的透视表,典型的用途如分组统计,如现在想要统计关于街道和性别分组的频数:
- ① values和aggfunc:
- 分组对某些数据进行聚合操作,这两个参数必须成对出现
- ② 除了边际参数margins外,还引入了normalize参数,可选’all’,‘index’,'columns’参数值
- pivot
- 二 其他变形方法
- 1. melt
- melt函数可以认为是pivot函数的逆操作,将unstacked状态的数据,压缩成stacked,使“宽”的DataFrame变“窄”
- melt函数中的id_vars表示需要保留的列,value_vars表示需要stack的一组列
- 2. 压缩与展开
- (1)stack:这是最基础的变形函数,
- 总共只有两个参数:
- level
- dropna
- stack函数可以看做将横向的索引放到纵向,因此功能类似与melt,参数level可指定变化的列索引是哪一层(或哪几层,需要列表)
- 总共只有两个参数:
- (2) unstack:stack的逆函数,功能上类似于pivot_table
- (1)stack:这是最基础的变形函数,
- 1. melt
- 三、哑变量与因子化
- 1. Dummy Variable(哑变量)
- 2. factorize方法
- 一 透视表
代码部分
对不起,先挖个坑