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']])