Skip to main content
`Ctrl`+`K`

# pandas.CategoricalIndex.rename_categories

CategoricalIndex.rename_categories(*args, **kwargs)

  Rename categories.

  Parameters:
    new_categories list-like, dict-like or callable

      New categories which will replace old categories.

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

      - callable : a callable that is called on all items in the old categories and whose return values comprise the new categories.

  Returns:
    Categorical

      Categorical with renamed categories.

  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

  `reorder_categories`

    Reorder categories.

  `add_categories`

    Add new categories.

  `remove_categories`

    Remove the specified categories.

  `remove_unused_categories`

    Remove categories which are not used.

  `set_categories`

    Set the categories to the specified ones.

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