高阶Pandas
分类数据
高阶GroupBy应用
背景和目标
pandas中的Categorical类型
使用Cateforical对象进行计算
分类方法
分类或字典编码展现
按照整数展现类别
不同的数组可以被称为数据的类别、字典或层级
Categorical类型
用于承载基于整数的类别展示或编码的数据
astype方法 将其他类型转化为Categorical类型
Categorical对象
categories属性
codes属性
类别
编码
pd.Categorical(['food'])
直接生成Categorical
from_codes构造函数
利用已知的分类编码数据
参数
ordered boolen
quct
直接返回pandas.Categorical
DataFrame中一列的分类版本通常会明显减少内存使用
memory_usage()方法
cat属性
提供了对分类方法的访问
set_categories方法
改变类别
remove_unused_categories方法
去除未观察到的类别
add_categories方法
将新的类别添加到已有类别的尾部
as_ordered方法
对类别排序
as_unordered方法
使类别无序
remove_categories
去除类别,将被一处的值置为null
rename_categories
使用新的类别名称代替现有的类别,但结果使经过排序的类别
reorder_categories
与rename方法相似,但是结果是经过排序的
one-hot编码
将分类数据转化为虚拟变量
pandas.get_dummies()
将一维的分类数据转换为一个包含虚拟变量的DateFrame
分组转换和“展开”GroupBy
transform
可以产生一个标量值,并广播到各分组的尺寸数据中
可以产生一个与输入分组尺寸相同的对象
不可改变它的输入
可以像GroupBy的agg方法一样传递一个字符串别名,执行内建的聚合函数
分组的时间重新采样
resample方法
频率转换实际上是一个分组过程
pandas.TimeGrouper对象
对某一列的值进行重新采样
限制是时间必须是Series或DataFrame的索引
方法链技术
assign
pipe方法
使用自定义的函数或来自第三方库的函数
可以便捷的实现复制方法
assign和很多其他pandas函数接受函数型的参数,这种参数也称为可调用参数
df/series.pipe(函数名,参数1,参数2...)
评论0