Pandas DataFrame droplevel() Method
In this tutorial, we will learn the Python pandas DataFrame.droplevel()
method. It returns DataFrame with requested index / column level(s) removed. The below shows the syntax of the DataFrame.droplevel()
method.
Syntax
DataFrame.droplevel(level, axis=0)
Parameters
level: int, str, or list-like. If a string is given, must be the name of a level. If list-like, elements must be names or positional indexes of levels.
axis:{0 or ‘index’, 1 or ‘columns’}, default 0. Axis along which the level(s) is removed:
Example 1: Dropping level using the DataFrame.droplevel()
Method
The DataFrame.droplevel()
method drops the specified level in the DataFrame along the row
axis. The below example shows the same.
import pandas as pd
df = pd.DataFrame([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]).set_index([0, 1]).rename_axis(['a', 'b'])
df.columns = pd.MultiIndex.from_tuples([('c', 'e'), ('d', 'f')], names=['level_1', 'level_2'])
print(df)
print("-----After dropping the specified level------")
print(df.droplevel('a'))
Once we run the program we will get the following output.
level_1 c d
level_2 e f
a b
1 2 3 4
5 6 7 8
9 10 11 12
-----After dropping the specified level------
level_1 c d
level_2 e f
b
2 3 4
6 7 8
10 11 12
Example 2: Dropping level using the DataFrame.droplevel()
Method
The DataFrame.droplevel()
method drops the specified level in the DataFrame along the row
axis. The below example shows the same.
import pandas as pd
df = pd.DataFrame([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]).set_index([0, 1]).rename_axis(['a', 'b'])
df.columns = pd.MultiIndex.from_tuples([('c', 'e'), ('d', 'f')], names=['level_1', 'level_2'])
print(df)
print("-----After dropping the specified level------")
print(df.droplevel(1))
Once we run the program we will get the following output.
level_1 c d
level_2 e f
a b
1 2 3 4
5 6 7 8
9 10 11 12
-----After dropping the specified level------
level_1 c d
level_2 e f
a
1 3 4
5 7 8
9 11 12
Example 3: Dropping level using the DataFrame.droplevel()
Method
The DataFrame.droplevel()
method drops the specified level in the DataFrame along the column
axis. The below example shows the same.
import pandas as pd
df = pd.DataFrame([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]).set_index([0, 1]).rename_axis(['a', 'b'])
df.columns = pd.MultiIndex.from_tuples([('c', 'e'), ('d', 'f')], names=['level_1', 'level_2'])
print(df)
print("-----After dropping the specified level------")
print(df.droplevel('level_2', axis=1))
Once we run the program we will get the following output.
level_1 c d
level_2 e f
a b
1 2 3 4
5 6 7 8
9 10 11 12
-----After dropping the specified level------
level_1 c d
a b
1 2 3 4
5 6 7 8
9 10 11 12
Conclusion
In this tutorial, we learned the Python pandas DataFrame.droplevel()
method. We learned the syntax, parameters and we solved examples by applying this method to the DataFrame and understood the example.