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

Метод pivot_table

Метод pivot_table применяется к DataFrame и возвращает новую таблицу в виде сводной. Первым параметром передаются значения для агрегации (параметр values), параметр index задает строки сводной таблицы, параметр columns - столбцы, а параметр aggfunc определяет функцию агрегации (по умолчанию mean). Этот метод удобно использовать для анализа данных по категориям.

Синтаксис

df.pivot_table(values, index, columns, aggfunc, fill_value)

Пример

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

import pandas as pd df = pd.DataFrame({ 'a': ['x', 'x', 'y', 'y'], 'b': ['m', 'n', 'm', 'n'], 'c': [1, 2, 3, 4] }) res = df.pivot_table(values='c', index='a', columns='b') print(res)

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

b m n a x 1 2 y 3 4

Пример

Теперь укажем функцию суммы вместо среднего:

import pandas as pd df = pd.DataFrame({ 'a': ['x', 'x', 'y', 'y', 'z'], 'b': ['m', 'n', 'm', 'n', 'm'], 'c': [1, 2, 3, 4, 5] }) res = df.pivot_table(values='c', index='a', columns='b', aggfunc=sum) print(res)

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

b m n a x 1.0 2.0 y 3.0 4.0 z 5.0 NaN

Пример

Давайте заполним пропущенные значения нулями:

import pandas as pd df = pd.DataFrame({ 'a': ['x', 'x', 'y', 'y', 'z'], 'b': ['m', 'n', 'm', 'n', 'm'], 'c': [1, 2, 3, 4, 5] }) res = df.pivot_table(values='c', index='a', columns='b', aggfunc=sum, fill_value=0) print(res)

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

b m n a x 1 2 y 3 4 z 5 0

Пример

Рассмотрим пример с несколькими значениями:

import pandas as pd df = pd.DataFrame({ 'a': ['x', 'x', 'y', 'y'], 'b': ['m', 'n', 'm', 'n'], 'c': [1, 2, 3, 4], 'd': [10, 20, 30, 40] }) res = df.pivot_table(values=['c', 'd'], index='a', columns='b') print(res)

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

c d b m n m n a x 1 2 10 20 y 3 4 30 40

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

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