Собесов

Aviasales Booking — Pandas: pivot по сопутствующим услугам

PythonPandas и аналитикаСредняяMiddle

Условие

Дан CSV booking_analytics_test_df.csv с заказами и сопутствующими услугами Aviasales (страховки, изменения, уведомления и т. д.). Поля:

  • order_id — уникальный идентификатор заказа,
  • order_price — цена заказа,
  • service — название услуги,
  • service_price — цена услуги,
  • service_profit — профит от услуги,
  • origin_country, destination_country — страны вылета и прилёта,
  • order_platform — платформа (desktop, ios, android),
  • booking_depth — глубина бронирования (дней между покупкой и поездкой),
  • is_return0 в одну сторону, 1 туда-обратно,
  • adults, children — пассажиры в заказе,
  • order_date — дата покупки.

Задание:

  1. С помощью pandas соберите таблицу: в строках — наименование услуги, в столбцах — минимальная и максимальная цена услуги, минимальный и максимальный профит от услуги, количество заказов с услугой.
  2. Соберите таблицу: в строках — услуга, в столбцах — цена и профит услуг по топ-5 странам вылета по продажам билетов.

Структура данных

CSV ~10–20k строк. Пример:

order_id,order_price,service,service_price,service_profit,origin_country,...,order_date
KPD24O68HE2O,6090.0,changes,499.00,399.20,RU,RU,desktop,15.43,0,1.0,0,2024-01-05
KRR4DN4PG7OG,18280.0,notification,299.00,271.77,AM,TR,desktop,32.42,0,2.0,0,2024-01-17

Один order_id обычно с одной услугой; но возможно повторение — стоит проверить.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти