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

Метод droplevel

Метод droplevel применяется к объектам MultiIndex (индексам DataFrame или Series) и позволяет удалять один или несколько уровней иерархического индекса. Первым параметром передаются уровни для удаления (в виде позиции, названия или списка). Метод возвращает новый индекс с удаленными уровнями, не изменяя исходный.

Синтаксис

multiindex.droplevel(level, axis=0)

Пример

Давайте удалим один уровень из MultiIndex по позиции:

import pandas as pd idx = pd.MultiIndex.from_tuples([ ('A', 'x', 1), ('A', 'y', 2), ('B', 'x', 3) ]) res = idx.droplevel(0) print(res)

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

MultiIndex([('x', 1), ('y', 2), ('x', 3)], )

Пример

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

import pandas as pd idx = pd.MultiIndex.from_tuples([ ('A', 'x', 1), ('A', 'y', 2), ('B', 'x', 3) ], names=['first', 'second', 'third']) res = idx.droplevel('first') print(res)

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

MultiIndex([('x', 1), ('y', 2), ('x', 3)], names=['second', 'third'])

Пример

Давайте удалим несколько уровней одновременно:

import pandas as pd idx = pd.MultiIndex.from_tuples([ ('A', 'x', 1), ('A', 'y', 2), ('B', 'x', 3) ], names=['first', 'second', 'third']) res = idx.droplevel([0, 2]) print(res)

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

Index(['x', 'y', 'x'], dtype='object', name='second')

Пример

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

import pandas as pd df = pd.DataFrame( {'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50]}, index=pd.MultiIndex.from_tuples([ ('A', 'x'), ('A', 'y'), ('B', 'x'), ('B', 'y'), ('C', 'x') ]) ) res = df.droplevel(0) print(res)

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

a b x 1 10 y 2 20 x 3 30 y 4 40 x 5 50

Пример

Давайте удалим уровень из MultiIndex столбцов DataFrame:

import pandas as pd df = pd.DataFrame( [[1, 2, 3, 4], [5, 6, 7, 8]], columns=pd.MultiIndex.from_tuples([ ('A', 'a'), ('A', 'b'), ('B', 'a'), ('B', 'b') ]) ) res = df.droplevel(0, axis=1) print(res)

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

a b a b 0 1 2 3 4 1 5 6 7 8

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

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