Pandas中常见的是通过cut和qcut函数来产生Category类型变量,具体情况参考Pandas分箱离散化方法:qcut()和cut()的用法_Sun_Sherry的博客-CSDN博客_qcut函数。这里主要是介绍一些Categroy类型的常用方法。
1. groupby()遇到Categroy类型变量时
当使用Category类型变量进行Groupby操作时,即使该类型没有出现,也会被纳入计算中。当groupby()函数中的observed=True时,可以保证只统计出现的category。具体如图1:
对Categroy类型变量使用value_counts()也会出现这样的情况,但value_counts()没有observed参数。
2. Category类型操作
Series中给Category提供了accessor(没找到怎么翻译,只说功能类似属性接口),该属性提供了几个关于Category类型变量的属性和方法,具体如下:
(1)Series.cat.categories
(2) Series.cat.ordered 返回bool变量,category之间如果有顺序关系则返回True
(3) Series.cat.codes.返回Series中每个元素对应的category编号
(4) Series.cat.rename_categories 给category改名
(5) Series.cat.reorder_categories
(6) Series.cat.add_categories 增加一个种类(如果不先增加一个category,fillna()操作会报错ValueError: fill value must be in categories)
(7) Series.cat.remove_catetories 删除某一个种类。Series中删除掉的category会被替换成空值。
(8) Series.cat.remove_unused_categories 删除无用的category
(9) Series.cat.set_categories 该方法可以同时实现category类型变量的增删改。
(10) Series.cat.as_ordered
(11) Series.cat.as_unordered
1526

被折叠的 条评论
为什么被折叠?



