dask.dataframe.Series.cat.rename_categories

dask.dataframe.Series.cat.rename_categories

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

重命名类别。

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

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

参数
新分类类似列表、类似字典或可调用

将取代旧类别的新类别。

  • 类似列表:所有项目必须唯一,并且新类别中的项目数量必须与现有类别数量匹配。

  • dict-like: 指定从旧类别到新类别的映射。未包含在映射中的类别将直接传递,映射中的额外类别将被忽略。

  • callable : 一个可调用对象,它对旧类别中的所有项目进行调用,其返回值构成新类别。

返回
分类

具有重命名类别的分类。

Raises
ValueError

如果新类别是列表式的,并且与当前类别的项目数量不同,或者不能验证为类别

参见

reorder_categories

重新排序类别。

add_categories

添加新类别。

remove_categories

移除指定的类别。

remove_unused_categories

移除未使用的类别。

set_categories

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

示例

>>> c = pd.Categorical(['a', 'a', 'b'])  
>>> c.rename_categories([0, 1])  
[0, 0, 1]
Categories (2, int64): [0, 1]

对于类似字典的 new_categories,额外的键会被忽略,而字典中不存在的类别则会直接通过。

>>> c.rename_categories({'a': 'A', 'c': 'C'})  
['A', 'A', 'b']
Categories (2, object): ['A', 'b']

您还可以提供一个可调用对象来创建新类别

>>> c.rename_categories(lambda x: x.upper())  
['A', 'A', 'B']
Categories (2, object): ['A', 'B']