pandas.MultiIndex.levels#

MultiIndex.levels[源代码]#

MultiIndex 的层级。

级别指的是 MultiIndex 中不同的层次级别或层次。在 MultiIndex 中,每个级别代表索引的一个不同的维度或类别。

要访问各个级别,可以使用 MultiIndex 的 levels 属性,该属性返回一个 Index 对象的元组。每个 Index 对象表示 MultiIndex 中的一个级别,并包含在该特定级别中找到的唯一值。

如果使用级别 A、B、C 创建了一个 MultiIndex,并且使用它的 DataFrame 过滤掉了级别 C 的所有行,MultiIndex.levels 仍将返回 A、B、C。

参见

MultiIndex.codes

MultiIndex 中各级别的代码。

MultiIndex.get_level_values

返回请求级别的标签值向量。

例子

>>> index = pd.MultiIndex.from_product(
...     [["mammal"], ("goat", "human", "cat", "dog")],
...     names=["Category", "Animals"],
... )
>>> leg_num = pd.DataFrame(data=(4, 2, 4, 4), index=index, columns=["Legs"])
>>> leg_num
                  Legs
Category Animals
mammal   goat        4
         human       2
         cat         4
         dog         4
>>> leg_num.index.levels
FrozenList([['mammal'], ['cat', 'dog', 'goat', 'human']])

即使使用 MultiIndex 的 DataFrame 不再包含所有级别,MultiIndex 级别也不会改变。请看“human”不在 DataFrame 中,但它仍在级别中:

>>> large_leg_num = leg_num[leg_num.Legs > 2]
>>> large_leg_num
                  Legs
Category Animals
mammal   goat        4
         cat         4
         dog         4
>>> large_leg_num.index.levels
FrozenList([['mammal'], ['cat', 'dog', 'goat', 'human']])