9

How to Rename a Column in Pandas – Python Pandas Dataframe Renaming Tutorial

 11 months ago
source link: https://www.freecodecamp.org/news/how-to-rename-a-column-in-pandas/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

January 13, 2023 / #Python

How to Rename a Column in Pandas – Python Pandas Dataframe Renaming Tutorial

How to Rename a Column in Pandas – Python Pandas Dataframe Renaming Tutorial

A Pandas Dataframe is a 2-dimensional data structure that displays data in tables with rows and columns.

In this article, you'll learn how to rename columns in a Pandas Dataframe by using:

  • The rename() function.
  • A List.
  • The set_axis() function.

How to Rename a Column in Pandas Using the rename() Function

In this section, you'll see a practical example of renaming a Pandas Dataframe using the rename() function.

Let's begin by passing data into a Dataframe object:

import pandas as pd

students = {
    "firstname": ["John", "Jane", "Jade"], 
    "lastname": ["Doe", "Done", "Do"]
}

# convert student names into a Dataframe
df = pd.DataFrame(students)

print(df)
# Output
  firstname lastname
0      John      Doe
1      Jane     Done
2      Jade       Do

In the example above, we created a Python dictionary which we used to store the firstname and lastname of students.

We then converted the dictionary to a Dataframe by passing it as a parameter to the Pandas Dataframe object: pd.DataFrame(students).

When printed to the console, we had this table printed out:

  firstname lastname
0      John      Doe
1      Jane     Done
2      Jade       Do

The goal here is to rename the columns. We can do that using the rename() function.

Here's what the syntax looks like:

df.rename(columns={"OLD_COLUMN_VALUE": "NEW_COLUMN_VALUE"})

Let's go ahead and change the column names (firstname and lastname) in the table from lowercase to uppercase (FIRSTNAME and LASTNAME).

import pandas as pd

students = {
    "firstname": ["John", "Jane", "Jade"], 
    "lastname": ["Doe", "Done", "Do"]
}

# convert student names into a Dataframe
df = pd.DataFrame(students)

df.rename(columns={"firstname": "FIRSTNAME", "lastname": "LASTNAME"}, inplace=True)

print(df)
# Output
  FIRSTNAME LASTNAME
0      John      Doe
1      Jane     Done
2      Jade       Do

In the code above, we specified that the columns firstname and lastname should be renamed to FIRSTNAME and LASTNAME, respectively: df.rename(columns={"firstname": "FIRSTNAME", "lastname": "LASTNAME"}, inplace=True)

You'll notice that we added the inplace=True parameter. This helps in persisting the new changes in the Dataframe. Delete the parameter and see what happens ;)

You can rename the columns to whatever you want. For instance, we can use SURNAME instead of lastname by doing this:

import pandas as pd

students = {
    "firstname": ["John", "Jane", "Jade"], 
    "lastname": ["Doe", "Done", "Do"]
}

# convert student names into a Dataframe
df = pd.DataFrame(students)
df.rename(columns={"firstname": "FIRSTNAME", "lastname": "SURNAME"}, inplace=True)

print(df)
# Output
  FIRSTNAME SURNAME
0      John     Doe
1      Jane    Done
2      Jade      Do

You can change just one column name, too. You are not required to change all the column names at the same time.

How to Rename a Column in Pandas Using a List

You can access the column names of a Dataframe using df.columns. Consider the table below:

  firstname lastname
0      John      Doe
1      Jane     Done
2      Jade       Do

We can print out the column names with the code below:

print(df.columns)

# Index(['firstname', 'lastname'], dtype='object')

Using that, we can rename the column of a Dataframe. Here's an example:

import pandas as pd

students = {
    "firstname": ["John", "Jane", "Jade"], 
    "lastname": ["Doe", "Done", "Do"]
}

# convert student names into a Dataframe
df = pd.DataFrame(students)
df.columns = ["FIRSTNAME", "SURNAME"]

print(df)
# Output
  FIRSTNAME SURNAME
0      John     Doe
1      Jane    Done
2      Jade      Do

In the example above, we put the new column names in a List and assigned it to the Dataframe columns: df.columns = ["FIRSTNAME", "SURNAME"].

This will override the previous column names.

How to Rename a Column in Pandas Using the set_axis() Function

The syntax for renaming a column with the set_axis() function looks like this:

df.set_axis([NEW_COLUMN_NAME,...], axis="columns")

Here's a code example:

import pandas as pd

students = {
    "firstname": ["John", "Jane", "Jade"], 
    "lastname": ["Doe", "Done", "Do"]
}

# convert student names into a Dataframe
df = pd.DataFrame(students)

df.set_axis(["FIRSTNAME", "SURNAME"], axis="columns", inplace=True) 

print(df)
# Output
  FIRSTNAME SURNAME
0      John     Doe
1      Jane    Done
2      Jade      Do

Note that the inplace=True parameter might raise a warning because it's deprecated for the set_axis() function and will be replaced in the future.

Summary

In this article, we talked about renaming a column in Pandas.

We saw different methods that can be used to rename a Pandas Dataframe column with code examples.

Happy coding!



If you read this far, thank the author to show them you care.

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

ADVERTISEMENT

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK