def rename(self, name, inplace=False):
return self.set_names([name], inplace=inplace)<EOL>
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 : boolean, default False
    Modifies the object directly, instead of creating a new Index or
    MultiIndex.

Returns
-------
Index
    The same type as the caller or None if inplace is 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(levels=[['cobra', 'python'], [2018, 2019]],
           codes=[[1, 1, 0, 0], [0, 1, 0, 1]],
           names=['kind', 'year'])
>>> idx.rename(['species', 'year'])
MultiIndex(levels=[['cobra', 'python'], [2018, 2019]],
           codes=[[1, 1, 0, 0], [0, 1, 0, 1]],
           names=['species', 'year'])
>>> idx.rename('species')
Traceback (most recent call last):
TypeError: Must pass list-like as `names`.