Series.rename(index=None, *, axis='index', copy=True, inplace=False, level=None, errors='ignore')#

Alter Series index labels or name.

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.

Alternatively, change Series.name with a scalar value.

See the user guide for more.

  • index (scalar, hashable sequence, dict-like or function optional) – Functions or dict-like are transformations to apply to the index. Scalar or hashable sequence-like will alter the Series.name attribute.

  • axis ({0 or 'index'}) – Unused. Parameter needed for compatibility with DataFrame.

  • copy (bool, default True) – Also copy underlying data.

  • inplace (bool, default False) – Whether to return a new Series. If True the value of copy is ignored.

  • level (int or level name, default None) – In case of MultiIndex, only rename labels in the specified level.

  • errors ({'ignore', 'raise'}, default 'ignore') – If ‘raise’, raise KeyError when a dict-like mapper or index contains labels that are not present in the index being transformed. If ‘ignore’, existing keys will be renamed and extra keys will be ignored.


Series with index labels or name altered or None if inplace=True.

Return type

Series or None

See also


Corresponding DataFrame method.


Set the name of the axis.


>>> s = pd.Series([1, 2, 3])  
>>> s  
0    1
1    2
2    3
dtype: int64
>>> s.rename("my_name")  # scalar, changes Series.name  
0    1
1    2
2    3
Name: my_name, dtype: int64
>>> s.rename(lambda x: x ** 2)  # function, changes labels  
0    1
1    2
4    3
dtype: int64
>>> s.rename({1: 3, 2: 5})  # mapping, changes labels  
0    1
3    2
5    3
dtype: int64

This docstring was copied from pandas.core.series.Series.