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

Метод pivot

Метод pivot применяется к DataFrame и выполняет перестройку таблицы на основе трех столбцов: индекс, столбцы и значения. Этот метод полезен для создания сводных таблиц, когда нужно представить данные в более читаемом виде. Первым параметром передается столбец, значения которого станут новым индексом, вторым - столбец, значения которого станут новыми колонками, а третьим - столбец со значениями для заполнения ячеек.

Синтаксис

df.pivot(index=None, columns=None, values=None)

Пример

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

import pandas as pd df = pd.DataFrame({ 'date': ['2023-01-01', '2023-01-01', '2023-01-02', '2023-01-02'], 'city': ['Moscow', 'SPb', 'Moscow', 'SPb'], 'sales': [100, 150, 200, 250] }) res = df.pivot(index='date', columns='city', values='sales') print(res)

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

city Moscow SPb date 2023-01-01 100 150 2023-01-02 200 250

Пример

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

import pandas as pd df = pd.DataFrame({ 'date': ['2023-01-01', '2023-01-01', '2023-01-02', '2023-01-02'], 'city': ['Moscow', 'SPb', 'Moscow', 'SPb'], 'sales': [100, 150, 200, 250], 'profit': [10, 15, 20, 25] }) res = df.pivot(index='date', columns='city') print(res)

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

sales profit city Moscow SPb Moscow SPb date 2023-01-01 100 150 10 15 2023-01-02 200 250 20 25

Пример

Если в данных есть повторяющиеся комбинации индекса и столбцов, метод pivot выдаст ошибку. В таком случае нужно использовать метод pivot_table:

import pandas as pd df = pd.DataFrame({ 'date': ['2023-01-01', '2023-01-01', '2023-01-01'], 'city': ['Moscow', 'Moscow', 'SPb'], 'sales': [100, 150, 200] }) res = df.pivot(index='date', columns='city', values='sales') print(res)

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

city Moscow SPb date 2023-01-01 150 200.0

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

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