pandas.MultiIndex.get_loc_level

MultiIndex.get_loc_level(self, key, level=0, drop_level=True)[source]

Get both the location for the requested label(s) and the resulting sliced index.

Parameters:
key : label or sequence of labels
level : int/level name or list thereof, optional
drop_level : bool, default True

if False, the resulting index will not drop any level.

Returns:
loc : A 2-tuple where the elements are:

Element 0: int, slice object or boolean array Element 1: The resulting sliced multiindex/index. If the key contains all levels, this will be None.

See also

MultiIndex.get_loc
Get location for a label or a tuple of labels.
MultiIndex.get_locs
Get location for a label/slice/list/mask or a sequence of such.

Examples

>>> mi = pd.MultiIndex.from_arrays([list('abb'), list('def')],
...                                names=['A', 'B'])
>>> mi.get_loc_level('b')
(slice(1, 3, None), Index(['e', 'f'], dtype='object', name='B'))
>>> mi.get_loc_level('e', level='B')
(array([False,  True, False], dtype=bool),
Index(['b'], dtype='object', name='A'))
>>> mi.get_loc_level(['b', 'e'])
(1, None)
Scroll To Top