w3resource

Pandas: Drop a level from a multi-level column index


21. Drop an Index Level from Multi-level Column Index

Write a Pandas program to drop a index level from a multi-level column index of a dataframe.

Note: Levels are 0-indexed beginning from the top.

Sample Solution:

Python Code :

import pandas as pd
cols = pd.MultiIndex.from_tuples([("a", "x"), ("a", "y"), ("a", "z")])
print("\nConstruct a Dataframe using the said MultiIndex levels: ")
df = pd.DataFrame([[1,2,3], [3,4,5], [5,6,7]], columns=cols)
print(df)
#Levels are 0-indexed beginning from the top.
print("\nRemove the top level index:")
df.columns = df.columns.droplevel(0)
print(df)
df = pd.DataFrame([[1,2,3], [3,4,5], [5,6,7]], columns=cols)
print("\nOriginal dataframe:")
print(df)
print("\nRemove the index next to top level:")
df.columns = df.columns.droplevel(1)
print(df)

Sample Output:

Construct a Dataframe using the said MultiIndex levels: 
   a      
   x  y  z
0  1  2  3
1  3  4  5
2  5  6  7

Remove the top level index:
   x  y  z
0  1  2  3
1  3  4  5
2  5  6  7

Original dataframe:
   a      
   x  y  z
0  1  2  3
1  3  4  5
2  5  6  7

Remove the index next to top level:
   a  a  a
0  1  2  3
1  3  4  5
2  5  6  7

For more Practice: Solve these Related Problems:

  • Write a Pandas program to drop a specified level from a MultiIndex in the columns and then display the resulting DataFrame.
  • Write a Pandas program to remove one level of a multi-level column index and then verify the new column headers.
  • Write a Pandas program to flatten a multi-level column index by dropping one of its levels and then output the DataFrame.
  • Write a Pandas program to eliminate a specific level from a MultiIndex column and then reassign new column names based on the remaining levels.

Python Code Editor:

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

Previous: Write a Pandas program to find the indexes of rows of a specified value of a given column in a DataFrame.
Next: Write a Pandas program to insert a column at a specific index in a given DataFrame.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.