GroupBy + агрегация продаж

EasyPython
05:00
Лучше работает на десктопе
Pandasgroupbyагрегация

Дана таблица продаж (как словарь). Для каждой категории товаров посчитайте:
- общую сумму продаж (total)
- среднюю сумму продажи (avg, округлить до 2 знаков)

Задача основана на вопросах с собеседований в Ozon и Сбер.

Сигнатура

def sales_aggregation(data: dict) -> list[dict]:

Примеры

data = {"category": ["Electronics", "Electronics", "Food", "Food", "Food"], "amount": [100, 200, 50, 30, 20]}
sales_aggregation(data) → [
    {"category": "Electronics", "total": 300, "avg": 150.0},
    {"category": "Food", "total": 100, "avg": 33.33}
]

Результат отсортирован по category (по алфавиту).

Примеры

Пример 1

Вход:
data = {"category":["Electronics","Electronics","Food","Food","Food"],"amount":[100,200,50,30,20]}
Выход:[{"category":"Electronics","total":300,"avg":150},{"category":"Food","total":100,"avg":33.33}]

Пример 2

Вход:
data = {"category":["A","B","A","B","C"],"amount":[10,20,30,40,50]}
Выход:[{"category":"A","total":40,"avg":20},{"category":"B","total":60,"avg":30},{"category":"C","total":50,"avg":50}]

Пример 3

Вход:
data = {"category":["X"],"amount":[100]}
Выход:[{"category":"X","total":100,"avg":100}]
Консоль
Нажмите Run или Ctrl+Enter для запуска