Python | Pandas MultiIndex.sortlevel ()

MultiIndex.sortlevel() Pandas MultiIndex.sortlevel() sorts the MultiIndex to the required level. The result will match the original order of the associated factor at that level.

Syntax: MultiIndex.sortlevel (level = 0, ascending = True, sort_remaining = True)

Parameters:
level: [list-like, int or str, default 0] If a string is given, must be a name of the level If list-like must be names or ints of levels
ascending: False to sort in descending order Can also be a list to specify a directed ordering
sort_remaining: sort by the remaining levels after level.

Returns:
sorted_index: Resulting index
indexer : Indices of output values ​​in original index

Example # 1: Use MultiIndex.sortlevel () to sort 0 th level MultiIndex in descending order.

# import pandas as pd

import pandas as pd

 
# Create MultiIndex

midx = pd.MultiIndex .from_arrays ([[ `Networking` , ` Cryptography`

`Anthropology` , `Science` ],

[ 88 , 84 , 98 , 95 ]])

 
# Print MultiIndex

print (midx)

Output:

Now let`s sort the 0th level of MultiIndex in descending order.

# sort the 0th level in descending order.

midx.sortlevel (level = 0 , ascending = False )

Output:

As we can see in the output, the function returned a new object with level zero, sorted in descending order.

Example # 2: Use MultiIndex.sortlevel () to sort the 1st level of MultiIndex in ascending order.

# import pandas as pd

import pandas as pd

 
# Create MultiIndex

midx = pd.MultiIndex.from_arrays ([[ `Networking` , `Cryptography`

  `Anthropology` , `Science` ], 

  [ 88 , 84 , 98 , 95 ]])

 
# Print MultiIndex

print (midx)

Output:

Now let`s sort the 1st level of MultiIndex in ascending order.

# sort 1st level MultiIndex in ascending order.

midx.sortlevel (level = 1 , ascending = True )

Output:

As we can see in the output, the function returned a new object sorted by the first level in ascending order.