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

Метод unstack

Метод unstack применяется к DataFrame и преобразует уровни индекса в столбцы. Первым параметром можно передать уровень индекса для преобразования. Если параметр не указан, преобразуется самый внутренний уровень. Метод часто используется для изменения формы данных из длинного формата в широкий.

Синтаксис

df.unstack([level])

Пример

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

import pandas as pd arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2]] index = pd.MultiIndex.from_arrays(arrays, names=['group', 'num']) df = pd.DataFrame({'value': [10, 20, 30, 40]}, index=index) print(df.unstack())

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

value num 1 2 group A 10 20 B 30 40

Пример

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

import pandas as pd arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2]] index = pd.MultiIndex.from_arrays(arrays, names=['group', 'num']) df = pd.DataFrame({'value': [10, 20, 30, 40]}, index=index) print(df.unstack(level=0))

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

value group A B num 1 10 30 2 20 40

Пример

Давайте применим unstack к таблице с пропущенными значениями. В результате появятся значения NaN:

import pandas as pd arrays = [['A', 'A', 'B'], [1, 2, 1]] index = pd.MultiIndex.from_arrays(arrays, names=['group', 'num']) df = pd.DataFrame({'value': [10, 20, 30]}, index=index) print(df.unstack())

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

value num 1 2 group A 10.0 20.0 B 30.0 NaN

Пример

Давайте преобразуем столбцы обратно в индекс с помощью метода stack:

import pandas as pd arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2]] index = pd.MultiIndex.from_arrays(arrays, names=['group', 'num']) df = pd.DataFrame({'value': [10, 20, 30, 40]}, index=index) unstacked = df.unstack() print(unstacked.stack())

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

value group num A 1 10 2 20 B 1 30 2 40

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

  • метод stack,
    который преобразует столбцы в многоуровневый индекс
  • метод pivot,
    который перестраивает таблицу по индексам и столбцам
  • метод pivot_table,
    который строит сводную таблицу с агрегацией
  • метод melt,
    который превращает столбцы в строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить