pandas.MultiIndex.get_loc_level#
- MultiIndex.get_loc_level(key, level=0, drop_level=True)[源代码][源代码]#
获取请求的标签/级别的定位和切片索引。
get_loc_level 方法是 get_loc 的更高级形式,允许用户不仅指定标签或标签序列,还指定要在其中搜索的级别。当您需要隔离 MultiIndex 的特定部分时,此方法非常有用,无论是为了进一步分析还是为了对数据进行切片和切块。该方法提供了灵活性,可以根据 drop_level 参数在结果索引中保留或删除级别。
- 参数:
- 关键标签或标签序列
要获取位置的标签。
- 级别int/级别名称或其列表,可选
要考虑的 MultiIndex 中的级别。如果未提供,默认为第一个级别。
- drop_level布尔值, 默认为 True
如果
False
,生成的索引将不会删除任何级别。
- 返回:
- tuple
一个2元组,其中元素为:
元素 0: int, slice 对象或布尔数组。
元素 1: 结果切片的多索引/索引。如果键包含所有级别,这将变为
None
。
参见
MultiIndex.get_loc
获取标签或标签元组的位置。
MultiIndex.get_locs
获取标签/切片/列表/掩码或此类序列的位置。
例子
>>> 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)