重新排序分类

在 Python 中处理分类数据

Kasey Jones

Research data scientist

为什么要重新排序?

  1. 创建有序变量
  2. 控制分析中的显示顺序
  3. 节省内存
在 Python 中处理分类数据

重新排序示例

dogs['coat'] = dogs["coat"].cat.reorder_categories(
  new_categories = ['short', 'medium', 'wirehaired', 'long'],

ordered=True )

使用 inplace:

dogs["coat"].cat.reorder_categories(
  new_categories = ['short', 'medium', 'wirehaired', 'long'],
  ordered=True,

inplace=True )
在 Python 中处理分类数据

ordered=True 时分组

dogs['coat'] = dogs["coat"].cat.reorder_categories(
  new_categories = ['short', 'medium', 'wirehaired', 'long'],
  ordered=True
)
dogs.groupby(by=['coat'])['age'].mean()
coat
short         8.364746
medium        9.027982
wirehaired    8.424136
long          9.552056
在 Python 中处理分类数据

ordered=False 时分组

dogs['coat'] = dogs["coat"].cat.reorder_categories(
  new_categories = ['short', 'medium', 'long', 'wirehaired'],

ordered=False )
dogs.groupby(by=['coat'])['age'].mean()
coat
short         8.364746
medium        9.027982
long          9.552056
wirehaired    8.424136
在 Python 中处理分类数据

重新排序练习

在 Python 中处理分类数据

Preparing Video For Download...