Skip to content

Commit 83c9205

Browse files
topper-123jreback
authored andcommitted
Correct wrong doc string for MultiIndex.get_loc_level + added examples (#17663)
1 parent 9d0db60 commit 83c9205

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

pandas/core/indexes/multi.py

+30-4
Original file line numberDiff line numberDiff line change
@@ -2083,16 +2083,42 @@ def _maybe_str_to_time_stamp(key, lev):
20832083

20842084
def get_loc_level(self, key, level=0, drop_level=True):
20852085
"""
2086-
Get integer location slice for requested label or tuple
2086+
Get both the location for the requested label(s) and the
2087+
resulting sliced index.
20872088
20882089
Parameters
20892090
----------
2090-
key : label or tuple
2091-
level : int/level name or list thereof
2091+
key : label or sequence of labels
2092+
level : int/level name or list thereof, optional
2093+
drop_level : bool, default True
2094+
if ``False``, the resulting index will not drop any level.
20922095
20932096
Returns
20942097
-------
2095-
loc : int or slice object
2098+
loc : A 2-tuple where the elements are:
2099+
Element 0: int, slice object or boolean array
2100+
Element 1: The resulting sliced multiindex/index. If the key
2101+
contains all levels, this will be ``None``.
2102+
2103+
Examples
2104+
--------
2105+
>>> mi = pd.MultiIndex.from_arrays([list('abb'), list('def')],
2106+
... names=['A', 'B'])
2107+
2108+
>>> mi.get_loc_level('b')
2109+
(slice(1, 3, None), Index(['e', 'f'], dtype='object', name='B'))
2110+
2111+
>>> mi.get_loc_level('e', level='B')
2112+
(array([False, True, False], dtype=bool),
2113+
Index(['b'], dtype='object', name='A'))
2114+
2115+
>>> mi.get_loc_level(['b', 'e'])
2116+
(1, None)
2117+
2118+
See Also
2119+
---------
2120+
MultiIndex.get_loc : Get integer location, slice or boolean mask for
2121+
requested label or tuple.
20962122
"""
20972123

20982124
def maybe_droplevels(indexer, levels, drop_level):

0 commit comments

Comments
 (0)