pandas.Series.cat.rename_categories¶
-
Series.cat.
rename_categories
(self, *args, **kwargs)[source]¶ Rename categories.
Parameters: - new_categories : list-like, dict-like or callable
list-like: all items must be unique and the number of items in the new categories must match the existing number of categories.
dict-like: specifies a mapping from old categories to new. Categories not contained in the mapping are passed through and extra categories in the mapping are ignored.
New in version 0.21.0.
callable : a callable that is called on all items in the old categories and whose return values comprise the new categories.
New in version 0.23.0.
- inplace : bool, default False
Whether or not to rename the categories inplace or return a copy of this categorical with renamed categories.
Returns: - cat : Categorical or None
With
inplace=False
, the new categorical is returned. Withinplace=True
, there is no return value.
Raises: - ValueError
If new categories are list-like and do not have the same number of items than the current categories or do not validate as categories
See also
Examples
>>> c = pd.Categorical(['a', 'a', 'b']) >>> c.rename_categories([0, 1]) [0, 0, 1] Categories (2, int64): [0, 1]
For dict-like
new_categories
, extra keys are ignored and categories not in the dictionary are passed through>>> c.rename_categories({'a': 'A', 'c': 'C'}) [A, A, b] Categories (2, object): [A, b]
You may also provide a callable to create the new categories
>>> c.rename_categories(lambda x: x.upper()) [A, A, B] Categories (2, object): [A, B]