w3resource

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

Pandas Indexing: Exercise-21 with Solution

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

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.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/pandas/index/pandas-indexing-exercise-21.php