Группировка по двум столбцам в Pandas
Два столбца сразу задают составной
ключ: строки попадают в одну группу,
только если совпадают обе метки.
Метод groupby принимает список
имён столбцов, после чего метод
sum считает числа в третьем
поле отдельно для каждой пары меток.
Создадим таблицу продаж, сгруппируем по двум столбцам и сложим третий:
import pandas as pd
data = {
'region': ['East', 'West', 'East', 'West'],
'store': ['A', 'A', 'B', 'B'],
'sales': [100, 80, 120, 90],
}
report = pd.DataFrame(data)
groups = report.groupby(['region', 'store'])
totals = groups['sales'].sum()
print(totals) # выведет region store
# East A 100
# B 120
# West A 80
# B 90
# Name: sales, dtype: int64
Подписи в ряде двухуровневые: сначала регион, под ним магазин, справа - сумма продаж для этой пары.
Соберите таблицу с классом, предметом и баллом на шесть строк. Выведите сумму баллов для каждой пары класса и предмета.
Создайте таблицу с двумя текстовыми столбцами и одним числовым столбцом часов работы. Получите сводку - сумму часов по каждой комбинации двух меток - и выведите результат.
Из данных о филиале, отделе и выручке на восемь строк соберите таблицу. Выведите сумму выручки отдельно для каждого филиала и отдела.