To get location and sliced index for requested label/ level in a MultiIndex, use the get_loc_level() method in Pandas.
At first, import the required libraries −
import pandas as pd
MultiIndex is a multi-level, or hierarchical, index object for pandas objects −
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])
Display the MultiIndex −
print("The MultiIndex...\n",multiIndex)
Get the location and sliced index −
print("\nGet the location and sliced index...\n",multiIndex.get_loc_level('r'))
Example
Following is the code −
import pandas as pd # MultiIndex is a multi-level, or hierarchical, index object for pandas objects multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two']) # display the MultiIndex print("The MultiIndex...\n",multiIndex) # get the levels in MultiIndex print("\nThe levels in MultiIndex...\n",multiIndex.levels) # Get the location and sliced index print("\nGet the location and sliced index...\n",multiIndex.get_loc_level('r'))
Output
This will produce the following output −
The MultiIndex... MultiIndex([('p', 's'), ('q', 't'), ('r', 'r'), ('r', 'v'), ('s', 'w'), ('s', 'x')], names=['One', 'Two']) The levels in MultiIndex... [['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']] Get the location and sliced index... (slice(2, 4, None), Index(['r', 'v'], dtype='object', name='Two'))