pandas.MultiIndex.levels #

多重索引。级别[来源] #

多重索引的级别。

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

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

如果使用级别 A、B、C 创建 MultiIndex,并且使用它的 DataFrame 筛选出级别 C 的所有行,则 MultiIndex.levels 仍将返回 A、B、C。

例子

>>> 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 级别,MultiIndex 级别也不会更改。看看“人类”如何不在 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']])