dask.dataframe.Series.cat.reorder_categories

dask.dataframe.Series.cat.reorder_categories

dataframe.Series.cat.reorder_categories(*args, **kwargs)

按照 new_categories 中的指定重新排序类别。

此文档字符串是从 pandas.core.arrays.categorical.CategoricalAccessor.reorder_categories 复制的。

Dask 版本可能存在一些不一致性。

new_categories 需要包含所有旧类别,并且不包含任何新的类别项。

参数
新分类索引类

新顺序中的类别。

有序bool, 可选

是否将分类变量视为有序分类变量。如果未指定,则不改变有序信息。

返回
分类

重新排序类别的分类变量。

Raises
ValueError

如果新分类不包含所有旧分类项目或任何新项目

参见

rename_categories

重命名类别。

add_categories

添加新类别。

remove_categories

移除指定的类别。

remove_unused_categories

移除未使用的类别。

set_categories

将类别设置为指定的类别。

示例

对于 pandas.Series:

>>> ser = pd.Series(['a', 'b', 'c', 'a'], dtype='category')  
>>> ser = ser.cat.reorder_categories(['c', 'b', 'a'], ordered=True)  
>>> ser  
0   a
1   b
2   c
3   a
dtype: category
Categories (3, object): ['c' < 'b' < 'a']
>>> ser.sort_values()  
2   c
1   b
0   a
3   a
dtype: category
Categories (3, object): ['c' < 'b' < 'a']

对于 pandas.CategoricalIndex:

>>> ci = pd.CategoricalIndex(['a', 'b', 'c', 'a'])  
>>> ci  
CategoricalIndex(['a', 'b', 'c', 'a'], categories=['a', 'b', 'c'],
                 ordered=False, dtype='category')
>>> ci.reorder_categories(['c', 'b', 'a'], ordered=True)  
CategoricalIndex(['a', 'b', 'c', 'a'], categories=['c', 'b', 'a'],
                 ordered=True, dtype='category')