@@ -2056,16 +2056,42 @@ def _maybe_str_to_time_stamp(key, lev):
2056
2056
2057
2057
def get_loc_level (self , key , level = 0 , drop_level = True ):
2058
2058
"""
2059
- Get integer location slice for requested label or tuple
2059
+ Get both the location for the requested label(s) and the
2060
+ resulting sliced index.
2060
2061
2061
2062
Parameters
2062
2063
----------
2063
- key : label or tuple
2064
- level : int/level name or list thereof
2064
+ key : label or sequence of labels
2065
+ level : int/level name or list thereof, optional
2066
+ drop_level : bool, default True
2067
+ if ``False``, the output index will not be sliced.
2065
2068
2066
2069
Returns
2067
2070
-------
2068
- loc : int or slice object
2071
+ loc : A 2-tuple where the elements are:
2072
+ Element 0: int, slice object or boolean array
2073
+ Element 1: The resulting sliced multiindex/index. If the key
2074
+ contains all levels, this will be ``None``.
2075
+
2076
+ Examples
2077
+ --------
2078
+ >>> mi = pd.MultiIndex.from_arrays([list('abb'), list('def')],
2079
+ ... names=['A', 'B'])
2080
+
2081
+ >>> mi.get_loc_level('b')
2082
+ (slice(1, 3, None), Index(['e', 'f'], dtype='object', name='B'))
2083
+
2084
+ >>> mi.get_loc_level('e', level='B')
2085
+ (array([False, True, False], dtype=bool),
2086
+ Index(['b'], dtype='object', name='A'))
2087
+
2088
+ >>> mi.get_loc_level(['b', 'e'])
2089
+ (1, None)
2090
+
2091
+ See Also
2092
+ ---------
2093
+ MultiIndex.get_loc : Get integer location, slice or boolean mask for
2094
+ requested label or tuple.
2069
2095
"""
2070
2096
2071
2097
def maybe_droplevels (indexer , levels , drop_level ):
0 commit comments