pandas.Series.cat.rename_categories#

Series.cat.rename_categories(*args, **kwargs)[源代码]#

重命名类别。

参数:
new_categories类似列表、类似字典或可调用

将取代旧类别的新类别。

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

  • 类似字典:指定从旧类别到新类别的映射。未包含在映射中的类别将直接传递,映射中多余的类别将被忽略。

  • callable : 一个在所有旧类别项上调用的可调用对象,其返回值构成新类别。

返回:
Categorical

重命名类别后的分类数据。

引发:
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']