pandas.MultiIndex.get_loc_level — pandas 2.2.3 documentation (original) (raw)

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

Get location and sliced index for requested label(s)/level(s).

Parameters:

keylabel or sequence of labels

levelint/level name or list thereof, optional

drop_levelbool, default True

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

Returns:

tuple

A 2-tuple where the elements :

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.

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]), Index(['b'], dtype='object', name='A'))

mi.get_loc_level(['b', 'e']) (1, None)