pyspark.pandas.DataFrame.rename#

DataFrame.rename(mapper=None, index=None, columns=None, axis='index', 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.

Parameters
mapperdict-like or function

Dict-like or functions transformations to apply to that axis’ values. Use either mapper and axis to specify the axis to target with mapper, or index and columns.

indexdict-like or function

Alternative to specifying axis (“mapper, axis=0” is equivalent to “index=mapper”).

columnsdict-like or function

Alternative to specifying axis (“mapper, axis=1” is equivalent to “columns=mapper”).

axisint or str, default ‘index’

Axis to target with mapper. Can be either the axis name (‘index’, ‘columns’) or number (0, 1).

inplacebool, default False

Whether to return a new DataFrame.

levelint 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 KeyError when a dict-like mapper, index, or columns contains 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 with the renamed axis labels.
Raises
KeyError

If any of the labels is not found in the selected axis and “errors=’raise’”.

Examples

>>> psdf1 = ps.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
>>> psdf1.rename(columns={"A": "a", "B": "c"})  
   a  c
0  1  4
1  2  5
2  3  6
>>> psdf1.rename(index={1: 10, 2: 20})  
    A  B
0   1  4
10  2  5
20  3  6
>>> psdf1.rename(columns={"A": "a", "C": "c"}, errors="raise")
Traceback (most recent call last):
    ...
KeyError: 'Index include value which is not in the `mapper`'
>>> def str_lower(s) -> str:
...     return str.lower(s)
>>> psdf1.rename(str_lower, axis='columns')  
   a  b
0  1  4
1  2  5
2  3  6
>>> def mul10(x) -> int:
...     return x * 10
>>> psdf1.rename(mul10, axis='index')  
    A  B
0   1  4
10  2  5
20  3  6
>>> idx = pd.MultiIndex.from_tuples([('X', 'A'), ('X', 'B'), ('Y', 'C'), ('Y', 'D')])
>>> psdf2 = ps.DataFrame([[1, 2, 3, 4], [5, 6, 7, 8]], columns=idx)
>>> psdf2.rename(columns=str_lower, level=0)  
   x     y
   A  B  C  D
0  1  2  3  4
1  5  6  7  8
>>> psdf3 = ps.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], index=idx, columns=list('ab'))
>>> psdf3.rename(index=str_lower)  
     a  b
x a  1  2
  b  3  4
y c  5  6
  d  7  8