К задачам

Pandas: выручка, топ-категория и средний чек

СредняяML-задачи
Лучше работает на десктопе
PandasДата и времяГруппировкаВыручка
План подготовки

Реализуйте функцию для небольшого анализа продаж в Pandas.

В каждой входной строке есть:

  • date в формате YYYY-MM-DD;
  • category;
  • price;
  • quantity.

Для строк за май 2024 верните словарь:

  • may_revenuesum(price * quantity);
  • top_category — категория с максимальной майской выручкой; при равенстве берите лексикографически меньшую категорию;
  • average_order_value — среднее значение price * quantity по майским строкам, округлённое до 2 знаков.

Если майских строк нет, верните {"may_revenue": 0, "top_category": None, "average_order_value": 0.0}.

Signature

def analyze_may_sales(rows: list[dict]) -> dict:

Примеры

Пример 1

Вход:
rows = [{"date":"2024-05-01","category":"electronics","price":100,"quantity":2},{"date":"2024-05-03","category":"books","price":50,"quantity":3},{"date":"2024-05-05","category":"electronics","price":300,"quantity":1},{"date":"2024-05-20","category":"fashion","price":80,"quantity":2},{"date":"2024-06-01","category":"electronics","price":999,"quantity":1}]
Выход:{"may_revenue":810,"top_category":"electronics","average_order_value":202.5}

Только майские строки, топ-категория по выручке

Пример 2

Вход:
rows = [{"date":"2024-04-30","category":"books","price":10,"quantity":1},{"date":"2024-06-01","category":"books","price":10,"quantity":1}]
Выход:{"may_revenue":0,"top_category":null,"average_order_value":0}

Майских строк нет

Пример 3

Вход:
rows = [{"date":"2024-05-01","category":"books","price":100,"quantity":1},{"date":"2024-05-02","category":"audio","price":50,"quantity":2}]
Выход:{"may_revenue":200,"top_category":"audio","average_order_value":100}

Разрешение равенства по названию категории

Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
10:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Анализ выручки за май в Pandas — ML-задачи задача — ML Mentor