Python Pandas - 获取请求的标签/级别的位置和切片索引,但不删除级别

pythonserver side programmingprogramming更新于 2026/1/21 3:24:17

要在 MultiIndex 中获取请求的标签/级别的位置和切片索引,请使用 Pandas 中的 get_loc_level() 方法。使用 drop_level 参数并将其设置为 False 以避免删除级别。

首先,导入所需的库 −

import pandas as pd

MultiIndex 是 pandas 对象的多级或分层索引对象 −

multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

显示 MultiIndex −

print("The MultiIndex...\n",multiIndex)

获取位置和切片索引。为了避免删除级别,我们使用了值为"False" 的"drop_level" 参数−

print("\n获取位置和切片索引(避免删除级别)...\n",multiIndex.get_loc_level('r', drop_level=False))

示例

以下是代码 −

import pandas as pd

# MultiIndex 是 pandas 对象的多级或分层索引对象
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

# 显示 MultiIndex
print("The MultiIndex...\n",multiIndex)

# 获取 MultiIndex 中的级别
print("\nThe levels in MultiIndex...\n",multiIndex.levels)

# 获取位置和切片索引
# 为避免删除级别,我们使用了值为"False" 的"drop_level" 参数
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']))

相关文章


有用资源