# pandas.CategoricalIndex.set_names

`CategoricalIndex.``set_names`(names, level=None, inplace=False)

  Set new names on index. Defaults to returning new index.

  Parameters:

  names : str or sequence

  > name(s) to set

  level : int or level name, or sequence of int / level names (default None)

  > If the index is a MultiIndex (hierarchical), level(s) to set (None for all levels) Otherwise level must be None

  inplace : bool

  > if True, mutates in place

  Returns: | new index (of same type and class...etc) [if inplace, returns None]

  Examples

      >>> Index([1, 2, 3, 4]).set_names('foo')
      Int64Index([1, 2, 3, 4], dtype='int64')
      >>> Index([1, 2, 3, 4]).set_names(['foo'])
      Int64Index([1, 2, 3, 4], dtype='int64')
      >>> idx = MultiIndex.from_tuples([(1, u'one'), (1, u'two'),
                                        (2, u'one'), (2, u'two')],
                                        names=['foo', 'bar'])
      >>> idx.set_names(['baz', 'quz'])
      MultiIndex(levels=[[1, 2], [u'one', u'two']],
                 labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
                 names=[u'baz', u'quz'])
      >>> idx.set_names('baz', level=0)
      MultiIndex(levels=[[1, 2], [u'one', u'two']],
                 labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
                 names=[u'baz', u'bar'])