@@ -2083,16 +2083,42 @@ def _maybe_str_to_time_stamp(key, lev):
2083
2083
2084
2084
def get_loc_level (self , key , level = 0 , drop_level = True ):
2085
2085
"""
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.
2087
2088
2088
2089
Parameters
2089
2090
----------
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.
2092
2095
2093
2096
Returns
2094
2097
-------
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.
2096
2122
"""
2097
2123
2098
2124
def maybe_droplevels (indexer , levels , drop_level ):
0 commit comments