pandas.CategoricalIndex.rename_categories

CategoricalIndex.rename_categories(*args, **kwargs) [source]

Renames 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.

Warning

Currently, Series are considered list like. In a future version of pandas they’ll be considered dict-like.

inplace : boolean (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. With inplace=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

Examples

>>> c = 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]

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.CategoricalIndex.rename_categories.html