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

Метод sortlevel

Метод sortlevel применяется к MultiIndex и сортирует индекс по указанному уровню. Первым параметром передаётся номер уровня или его имя. Вторым параметром можно задать порядок сортировки. Метод возвращает новый отсортированный MultiIndex и массив с индексами для перестановки строк.

Синтаксис

multiindex.sortlevel(level=0, ascending=True)

Параметры

Параметр level определяет уровень для сортировки. По умолчанию сортируется первый уровень (индекс 0). Параметр ascending управляет порядком сортировки. Если True - по возрастанию, если False - по убыванию.

Пример

Давайте создадим MultiIndex и отсортируем его по первому уровню:

import pandas as pd idx = pd.MultiIndex.from_tuples([ ('b', 3), ('a', 2), ('c', 1) ]) sorted_idx, idx_sorter = idx.sortlevel(level=0) print(sorted_idx)

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

MultiIndex([('a', 2), ('b', 3), ('c', 1)], )

Пример

Отсортируем по второму уровню в порядке убывания:

import pandas as pd idx = pd.MultiIndex.from_tuples([ ('b', 3), ('a', 2), ('c', 1) ]) sorted_idx, idx_sorter = idx.sortlevel(level=1, ascending=False) print(sorted_idx)

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

MultiIndex([('b', 3), ('a', 2), ('c', 1)], )

Пример

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

import pandas as pd idx = pd.MultiIndex.from_tuples([ ('b', 3), ('a', 2), ('c', 1) ]) df = pd.DataFrame( {'a': [1, 2, 3], 'b': [10, 20, 30]}, index=idx ) sorted_idx, idx_sorter = idx.sortlevel(level=0) df_sorted = df.iloc[idx_sorter] print(df_sorted)

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

a b a 2 2 20 b 3 1 10 c 1 3 30

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

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