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

Сводная с агрегацией в Pandas

Если в длинной таблице на одну пару строка-мера попадает несколько чисел, метод pivot выдаст ошибку. Метод pivot_table как раз для такого случая: он сводит несколько значений в одно, чаще всего суммой или средним.

Создадим таблицу с повторяющимися парами магазин-показатель и построим сводную с суммой:

import pandas as pd data = { 'store': ['East', 'East', 'East', 'West'], 'label': ['rev', 'rev', 'cost', 'rev'], 'val': [200, 50, 80, 120], } long = pd.DataFrame(data) table = long.pivot_table( index='store', columns='label', values='val', aggfunc='sum', ) print(table) # выведет label cost rev # store # East 80.0 250.0 # West NaN 120.0

Для East две строки с меткой rev сложились в 250. Расход 80 остался один. У West нет строк с меткой cost, поэтому в этой ячейке пропуск.

Соберите таблицу продаж: столбец dept, столбец channel и столбец amount так, чтобы один отдел встречался в одном канале несколько раз. Получите сводную с суммой amount по отделам в строках и каналам в столбцах. Выведите её.

Создайте длинную таблицу оценок: class_id, topic и points с дублями пар класс-тема. Сведите баллы суммой в таблицу с классами в индексе и темами в заголовках. Выведите результат.

Из словаря со столбцами site, event и hits соберите таблицу, где один сайт и один тип события повторяются. Постройте сводную с суммой просмотров. Выведите таблицу.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить