pandas.CategoricalIndex.rename_categories#

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

重命名类别。

参数
new_categories列表式、字典式或可调用

将取代旧类别的新类别。

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

  • 类词典:指定从旧类别到新类别的映射。不包含在映射中的类别被传递,映射中的额外类别被忽略。

  • Callable:在旧类别中的所有项上调用且其返回值包含新类别的Callable。

inplace布尔值,默认为False

是就地重命名类别,还是返回具有重命名类别的此类别的副本。

1.3.0 版后已移除.

退货
cat明确或无

带有已删除类别的类别或无类别,如果 inplace=True

加薪
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']