РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
295 of 687 menu

Атрибут codes

Атрибут codes применяется к MultiIndex и возвращает кортеж из массивов ndarray, где каждый массив содержит целочисленные метки для соответствующего уровня индекса. Эти коды указывают, какой элемент из списка levels используется в каждой позиции. Атрибут доступен только для чтения.

Синтаксис

multi_index.codes

Пример

Получим коды для мультииндекса с двумя уровнями:

import pandas as pd multi = pd.MultiIndex.from_tuples([ ('a', 1), ('a', 2), ('b', 1) ]) codes = multi.codes print(codes)

Результат выполнения кода:

(FrozenList([0, 0, 1]), FrozenList([0, 1, 0]))

Пример

Получим коды для мультииндекса с тремя уровнями:

import pandas as pd arrays = [ ['A', 'A', 'B', 'B'], [1, 2, 1, 2], ['x', 'y', 'x', 'y'] ] multi = pd.MultiIndex.from_arrays(arrays) codes = multi.codes for level, code in enumerate(codes): print(f'Level {level}: {code}')

Результат выполнения кода:

Level 0: [0 0 1 1] Level 1: [0 1 0 1] Level 2: [0 1 0 1]

Пример

Используем коды для восстановления уровней в DataFrame:

import pandas as pd multi = pd.MultiIndex.from_product([ ['first', 'second'], [1, 2, 3] ]) df = pd.DataFrame({ 'value': range(1, 7) }, index=multi) codes = df.index.codes levels = df.index.levels print('Codes:', codes) print('Levels:', levels)

Результат выполнения кода:

Codes: (FrozenList([0, 0, 0, 1, 1, 1]), FrozenList([0, 1, 2, 0, 1, 2])) Levels: FrozenList([Index(['first', 'second'], dtype='object'), Index([1, 2, 3], dtype='int64')])

Смотрите также

  • атрибут levels,
    который возвращает уровни мультииндекса
  • атрибут names,
    который возвращает имена уровней
  • атрибут nlevels,
    который возвращает количество уровней
  • класс MultiIndex,
    который представляет собой мультииндекс
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить