# pandas.Index.rename

Index.rename(name, inplace=False)

  Alter Index or MultiIndex name.

  Able to set new names without level. Defaults to returning new index. Length of names must match number of levels in MultiIndex.

  Parameters
    name label or list of labels

      Name(s) to set.

    inplace bool, default False

      Modifies the object directly, instead of creating a new Index or MultiIndex.

  Returns
    Index or None

      The same type as the caller or None if `inplace=True`.

  See also

  `Index.set_names`

    Able to set new names partially and by level.

  Examples

      >>> idx = pd.Index(['A', 'C', 'A', 'B'], name='score')
      >>> idx.rename('grade')
      Index(['A', 'C', 'A', 'B'], dtype='object', name='grade')

      >>> idx = pd.MultiIndex.from_product([['python', 'cobra'],
      ...                                   [2018, 2019]],
      ...                                   names=['kind', 'year'])
      >>> idx
      MultiIndex([('python', 2018),
                  ('python', 2019),
                  ( 'cobra', 2018),
                  ( 'cobra', 2019)],
                 names=['kind', 'year'])
      >>> idx.rename(['species', 'year'])
      MultiIndex([('python', 2018),
                  ('python', 2019),
                  ( 'cobra', 2018),
                  ( 'cobra', 2019)],
                 names=['species', 'year'])
      >>> idx.rename('species')
      Traceback (most recent call last):
      TypeError: Must pass list-like as `names`.