Home » Pandas: How to Rename Only the Last Column in DataFrame

Pandas: How to Rename Only the Last Column in DataFrame

by Tutor Aspire

You can use the following basic syntax to rename only the last column in a pandas DataFrame:

df.columns = [*df.columns[:-1], 'new_name']

This particular example renames the last column new_name in a pandas DataFrame called df.

The following example shows how to use this syntax in practice.

Example: Rename Only the Last Column in Pandas

Suppose we have the following pandas DataFrame that contains information about various basketball players:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6
5    F      11        9         5
6    G      20        9         9
7    H      28        4        12

Currently the last column in the DataFrame is named rebounds.

We can use the following syntax to rename this column to rebs:

#rename last column to 'rebs'
df.columns = [*df.columns[:-1], 'rebs']

#view updated DataFrame
print(df)

  team  points  assists  rebs
0    A      18        5    11
1    B      22        7     8
2    C      19        7    10
3    D      14        9     6
4    E      14       12     6
5    F      11        9     5
6    G      20        9     9
7    H      28        4    12

Notice that the last column has been renamed to rebs and all other columns have remained unchanged.

We can also use the following syntax to view a list of all of the column names in the DataFrame:

#view column names
print(df.columns)

Index(['team', 'points', 'assists', 'rebs'], dtype='object')

We can see that the last column has indeed been renamed to rebs.

The benefit of using this syntax is that we don’t need to know ahead of time how many columns are in the DataFrame.

Additional Resources

The following tutorials explain how to perform other common operations in pandas:

How to List All Column Names in Pandas
How to Sort Columns by Name in Pandas
How to Drop Duplicate Columns in Pandas

You may also like