要获取 MultiIndex 中请求的标签/级别的位置和切片索引,请使用get_loc_level()Pandas 中的方法。使用drop_level参数并将其设置为False以避免降低级别。
首先,导入所需的库 -
import pandas as pd
MultiIndex 是 Pandas 对象的多级或分层索引对象 -
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])
显示多索引 -
print("The MultiIndex...\n",multiIndex)
获取位置和切片索引。为了避免降低级别,我们使用了值为“False”的“drop_level”参数 -
print("\nGet the location and sliced index (avoid dropping the level)...\n",multiIndex.get_loc_level('r', drop_level=False))
以下是代码 -
import pandas as pd # MultiIndex is a multi-level, or hierarchical, index object for pandas objects multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two']) # display the MultiIndex print("The MultiIndex...\n",multiIndex) # get the levels in MultiIndex print("\nThe levels in MultiIndex...\n",multiIndex.levels) # Get the location and sliced index # To avoid dropping a level, we have used the "drop_level" parameter with value "False" print("\nGet the location and sliced index (avoid dropping the level)...\n",multiIndex.get_loc_level('r', drop_level=False))输出结果
这将产生以下输出 -
The MultiIndex... MultiIndex([('p', 's'), ('q', 't'), ('r', 'r'), ('r', 'v'), ('s', 'w'), ('s', 'x')], names=['One', 'Two']) The levels in MultiIndex... [['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']] Get the location and sliced index (avoid dropping the level)... (slice(2, 4, None), MultiIndex([('r', 'r'),('r', 'v')],names=['One', 'Two']))