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.

Go to:


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.

Python Code Editor:

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

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.