pandas.Series.cat.rename_categories#
- Series.cat.rename_categories(*args, **kwargs)[源代码]#
重命名类别。
- Parameters:
- new_categorieslist-like, dict-like or callable
将替换旧类别的新类别。
list-like:所有项必须是唯一的,并且新类别中的项数必须与现有类别的数量匹配。
dict-like:指定从旧类别到新类别的映射。未包含在映射中的类别将被保留,而映射中多余的类别将被忽略。
callable : 一个可调用对象,它将应用于所有旧类别项,其返回值构成新类别。
- Returns:
- Categorical
重命名类别的分类。
- Raises:
- ValueError
如果新类别是列表状的,并且其项数与当前类别不同,或者无法验证为类别
参见
reorder_categories重新排序类别。
add_categories添加新类别。
remove_categories删除指定的类别。
remove_unused_categories删除未使用的类别。
set_categories将类别设置为指定的类别。
Examples
>>> 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']