pandas.DataFrame.rename_axis#
- DataFrame.rename_axis(mapper=<no_default>, *, index=<no_default>, columns=<no_default>, axis=0, copy=<no_default>, inplace=False)[source]#
- Set the name of the axis for the index or columns. - Parameters:
- mapperscalar, list-like, optional
- Value to set the axis name attribute. - Use either - mapperand- axisto specify the axis to target with- mapper, or- indexand/or- columns.
- indexscalar, list-like, dict-like or function, optional
- A scalar, list-like, dict-like or functions transformations to apply to that axis’ values. 
- columnsscalar, list-like, dict-like or function, optional
- A scalar, list-like, dict-like or functions transformations to apply to that axis’ values. 
- axis{0 or ‘index’, 1 or ‘columns’}, default 0
- The axis to rename. 
- copybool, default False
- Also copy underlying data. - Note - The copy keyword will change behavior in pandas 3.0. Copy-on-Write will be enabled by default, which means that all methods with a copy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas. - You can already get the future behavior and improvements through enabling copy on write - pd.options.mode.copy_on_write = True- Deprecated since version 3.0.0. 
- inplacebool, default False
- Modifies the object directly, instead of creating a new Series or DataFrame. 
 
- Returns:
- DataFrame, or None
- The same type as the caller or None if - inplace=True.
 
 - See also - Series.rename
- Alter Series index labels or name. 
- DataFrame.rename
- Alter DataFrame index labels or name. 
- Index.rename
- Set new names on index. 
 - Notes - DataFrame.rename_axissupports two calling conventions- (index=index_mapper, columns=columns_mapper, ...)
- (mapper, axis={'index', 'columns'}, ...)
 - The first calling convention will only modify the names of the index and/or the names of the Index object that is the columns. In this case, the parameter - copyis ignored.- The second calling convention will modify the names of the corresponding index if mapper is a list or a scalar. However, if mapper is dict-like or a function, it will use the deprecated behavior of modifying the axis labels. - We highly recommend using keyword arguments to clarify your intent. - Examples - DataFrame - >>> df = pd.DataFrame( ... {"num_legs": [4, 4, 2], "num_arms": [0, 0, 2]}, ["dog", "cat", "monkey"] ... ) >>> df num_legs num_arms dog 4 0 cat 4 0 monkey 2 2 >>> df = df.rename_axis("animal") >>> df num_legs num_arms animal dog 4 0 cat 4 0 monkey 2 2 >>> df = df.rename_axis("limbs", axis="columns") >>> df limbs num_legs num_arms animal dog 4 0 cat 4 0 monkey 2 2 - MultiIndex - >>> df.index = pd.MultiIndex.from_product( ... [["mammal"], ["dog", "cat", "monkey"]], names=["type", "name"] ... ) >>> df limbs num_legs num_arms type name mammal dog 4 0 cat 4 0 monkey 2 2 - >>> df.rename_axis(index={"type": "class"}) limbs num_legs num_arms class name mammal dog 4 0 cat 4 0 monkey 2 2 - >>> df.rename_axis(columns=str.upper) LIMBS num_legs num_arms type name mammal dog 4 0 cat 4 0 monkey 2 2