pandas.MultiIndex.levels#

MultiIndex.уровни[источник]#

Уровни MultiIndex.

Уровни относятся к различным иерархическим уровням или слоям в MultiIndex. В MultiIndex каждый уровень представляет отдельное измерение или категорию индекса.

Для доступа к уровням вы можете использовать атрибут levels MultiIndex, который возвращает кортеж объектов Index. Каждый объект Index представляет уровень в MultiIndex и содержит уникальные значения, найденные в этом конкретном уровне.

Если MultiIndex создается с уровнями A, B, C, и 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, больше не содержит все из них. Смотрите, как "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']])