How to Rename a Column in Pandas – Python Pandas Dataframe Renaming Tutorial
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.
January 13, 2023 / #Python
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!
ihechikara.com
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK