On this page
pandas.DataFrame.rename
DataFrame.rename(self, mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None, errors='ignore')[source]-
Alter axes labels.
Function / dict values must be unique (1-to-1). Labels not contained in a dict / Series will be left as-is. Extra labels listed don’t throw an error.
See the user guide for more.
Parameters: -
mapper : dict-like or function -
Dict-like or functions transformations to apply to that axis’ values. Use either
mapperandaxisto specify the axis to target withmapper, orindexandcolumns. -
index : dict-like or function -
Alternative to specifying axis (
mapper, axis=0is equivalent toindex=mapper). -
columns : dict-like or function -
Alternative to specifying axis (
mapper, axis=1is equivalent tocolumns=mapper). -
axis : int or str -
Axis to target with
mapper. Can be either the axis name (‘index’, ‘columns’) or number (0, 1). The default is ‘index’. -
copy : bool, default True -
Also copy underlying data.
-
inplace : bool, default False -
Whether to return a new DataFrame. If True then value of copy is ignored.
-
level : int or level name, default None -
In case of a MultiIndex, only rename labels in the specified level.
-
errors : {‘ignore’, ‘raise’}, default ‘ignore’ -
If ‘raise’, raise a
KeyErrorwhen a dict-likemapper,index, orcolumnscontains labels that are not present in the Index being transformed. If ‘ignore’, existing keys will be renamed and extra keys will be ignored.
Returns: - DataFrame
-
DataFrame with the renamed axis labels.
Raises: - KeyError
-
If any of the labels is not found in the selected axis and “errors=’raise’”.
See also
DataFrame.rename_axis- Set the name of the axis.
Examples
DataFrame.renamesupports two calling conventions(index=index_mapper, columns=columns_mapper, ...)(mapper, axis={'index', 'columns'}, ...)
We highly recommend using keyword arguments to clarify your intent.
Rename columns using a mapping:
>>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) >>> df.rename(columns={"A": "a", "B": "c"}) a c 0 1 4 1 2 5 2 3 6Rename index using a mapping:
>>> df.rename(index={0: "x", 1: "y", 2: "z"}) A B x 1 4 y 2 5 z 3 6Cast index labels to a different type:
>>> df.index RangeIndex(start=0, stop=3, step=1) >>> df.rename(index=str).index Index(['0', '1', '2'], dtype='object')>>> df.rename(columns={"A": "a", "B": "b", "C": "c"}, errors="raise") Traceback (most recent call last): KeyError: ['C'] not found in axisUsing axis-style parameters
>>> df.rename(str.lower, axis='columns') a b 0 1 4 1 2 5 2 3 6>>> df.rename({1: 2, 2: 4}, axis='index') A B 0 1 4 2 2 5 4 3 6 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.DataFrame.rename.html