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

Метод swaplevel

Метод swaplevel применяется к MultiIndex и меняет местами два указанных уровня. Первым параметром передаётся первый уровень, вторым - второй уровень. Если параметры не указаны, меняются местами последние два уровня. Метод возвращает новый MultiIndex с переставленными уровнями.

Синтаксис

multiindex.swaplevel(i=-2, j=-1)

Пример

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

import pandas as pd arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2]] idx = pd.MultiIndex.from_arrays(arrays, names=['letters', 'numbers']) print(idx) print('\nAfter swaplevel:') print(idx.swaplevel(0, 1))

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

MultiIndex([('A', 1), ('A', 2), ('B', 1), ('B', 2)], names=['letters', 'numbers']) After swaplevel: MultiIndex([(1, 'A'), (2, 'A'), (1, 'B'), (2, 'B')], names=['numbers', 'letters'])

Пример

Давайте поменяем местами уровни в DataFrame с MultiIndex:

import pandas as pd arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2]] idx = pd.MultiIndex.from_arrays(arrays, names=['letters', 'numbers']) df = pd.DataFrame({'a': [1, 2, 3, 4], 'b': [10, 20, 30, 40]}, index=idx) print('Original:') print(df) print('\nAfter swaplevel:') print(df.swaplevel(0, 1))

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

Original: a b letters numbers A 1 1 10 2 2 20 B 1 3 30 2 4 40 After swaplevel: a b numbers letters 1 A 1 10 2 A 2 20 1 B 3 30 2 B 4 40

Пример

Давайте используем метод без указания параметров, чтобы поменять местами последние два уровня:

import pandas as pd arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2], ['X', 'Y', 'X', 'Y']] idx = pd.MultiIndex.from_arrays(arrays, names=['letters', 'numbers', 'codes']) df = pd.DataFrame({'a': [1, 2, 3, 4]}, index=idx) print('Original:') print(df) print('\nAfter swaplevel:') print(df.swaplevel())

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

Original: a letters numbers codes A 1 X 1 2 Y 2 B 1 X 3 2 Y 4 After swaplevel: a letters codes numbers A X 1 1 Y 2 2 B X 1 3 Y 2 4

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

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