pandas.Index.rename#
- Index.rename(name, *, inplace=False)[source]#
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:
- namelabel or list of labels
Name(s) to set.
- inplacebool, 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`.