w3resource

Pandas: Rename all and only some of the column names

Pandas Filter: Exercise-23 with Solution

Write a Pandas program to rename all and only some of the column names from world alcohol consumption dataset.

Test Data:

   Year       WHO region                Country Beverage Types  Display Value
0  1986  Western Pacific               Viet Nam           Wine           0.00
1  1986         Americas                Uruguay          Other           0.50
2  1985           Africa           Cte d'Ivoire           Wine           1.62
3  1986         Americas               Colombia           Beer           4.27
4  1987         Americas  Saint Kitts and Nevis           Beer           1.98   

Sample Solution:

Python Code :

import pandas as pd
# World alcohol consumption data
w_a_con = pd.read_csv('world_alcohol.csv')
new_w_a_con = pd.read_csv('world_alcohol.csv')
print("World alcohol consumption sample data:")
print(w_a_con.head())
print("\nRename all the column names:")
w_a_con.columns = ['year','who_region','country','beverage_types','display_values']
print(w_a_con.head())
print("\nRenaming only some of the column names:")
new_w_a_con.rename(columns = {"WHO region":"WHO_region","Display Value":"Display_Value" },inplace = True)
print(new_w_a_con.head()) 

Sample Output:

World alcohol consumption sample data:
   Year       WHO region      ...      Beverage Types Display Value
0  1986  Western Pacific      ...                Wine          0.00
1  1986         Americas      ...               Other          0.50
2  1985           Africa      ...                Wine          1.62
3  1986         Americas      ...                Beer          4.27
4  1987         Americas      ...                Beer          1.98

[5 rows x 5 columns]

Rename all the column names:
   year       who_region      ...       beverage_types display_values
0  1986  Western Pacific      ...                 Wine           0.00
1  1986         Americas      ...                Other           0.50
2  1985           Africa      ...                 Wine           1.62
3  1986         Americas      ...                 Beer           4.27
4  1987         Americas      ...                 Beer           1.98

[5 rows x 5 columns]

Renaming only some of the column names:
   Year       WHO_region      ...      Beverage Types Display_Value
0  1986  Western Pacific      ...                Wine          0.00
1  1986         Americas      ...               Other          0.50
2  1985           Africa      ...                Wine          1.62
3  1986         Americas      ...                Beer          4.27
4  1987         Americas      ...                Beer          1.98

[5 rows x 5 columns]

Click to download world_alcohol.csv

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to select consecutive columns and also select rows with Index label 0 to 9 with some columns from world alcohol consumption dataset.
Next: Write a Pandas program to find which years have all non-zero values and which years have any non-zero values from world alcohol consumption dataset.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Trenary operator:

>>> "Python ROCK" if True else " I AM GRUMPY"
"Python ROCK"