Python Pandas - 获取请求标签/级别的位置和切片索引,但不降低级别
要获取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
#MultiIndexisamulti-level,orhierarchical,indexobjectforpandasobjects
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])
#displaytheMultiIndex
print("The MultiIndex...\n",multiIndex)
#getthelevelsinMultiIndex
print("\nThe levels in MultiIndex...\n",multiIndex.levels)
#Getthelocationandslicedindex
# To avoid dropping a level, we have used the "drop_level" parameterwithvalue "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']))