Введение в Pandas
В данном модуле вы изучите введение в Python: Pandas, а именно научитесь делать выборки, агрегировать данные и объединяться таблицы.
Задачи модуля
-
Вводная
К вам пришел менеджер и попросил быстро посмотреть, какие активные товары сейчас самые дорогие. Это необходимо для сверки данных с фактическими продажами.
Условие
В таблице products хранятся товары интернет-магазина. Оставьте только активные товары и отсортируйте их по базовой цене от самой высокой к самой низкой.
Таблицы для анализа
- products
- product_id
- product_name
- category_name
- base_price
- is_active
- оставить только строки, где is_active == "True"
- отсортировать по убыванию base_price
- вывести первые 10 строк
- сбросить индекс
-
Вводная
Команда маркетинга хочет запустить email-кампанию по Германии. Для этого нужно найти клиентов из Германии, которые согласились получать маркетинговые рассылки.
Условие
В таблице customers хранятся данные о покупателях. Найдите клиентов из Германии, у которых включено согласие на маркетинговые рассылки.
Таблицы для анализа- customers
- customer_id
- full_name
- country
- marketing_opt_in
- оставить только клиентов, где country == "DE"
- оставить только клиентов, где marketing_opt_in == "True"
- отсортировать по возрастанию customer_id
- вывести первые 15 строк
- сбросить индекс
-
Вводная
Операционная команда заметила, что часть заказов имеет высокую стоимость доставки. Нужно быстро найти доставленные заказы, где доставка стоила дороже обычного.
Условие
В таблице orders хранятся данные о заказах. Найдите доставленные заказы, у которых стоимость доставки больше 8.
Таблицы для анализа- orders
- order_id
- customer_id
- country
- order_status
- shipping_fee
- delivery_days
- оставить только заказы со статусом delivered
- оставить только заказы, где shipping_fee > 8
- отсортировать по убыванию shipping_fee
- вывести первые 20 строк
- сбросить индекс
-
Вводная
Коммерческая команда хочет увидеть товары с наибольшими скидками.
Условие
В таблице order_items хранятся товары у заказов. Для каждого товара посчитайте размер скидки от его полной стоимости.
Формула:
Таблицы для анализаdiscount_share = line_discount_amount / line_gross_amount- order_items
- order_item_id
- order_id
- product_id
- line_gross_amount
- line_discount_amount
- discount_share
- создать колонку discount_share
- округлить discount_share до 4 знаков
- отсортировать по убыванию discount_share
- вывести первые 15 строк
- сбросить индекс
-
Вводная
Руководитель хочет быстро понять, как распределяются заказы по статусам: сколько доставлено, сколько отменено, сколько возвращено.
Условие
В таблице orders хранятся данные о заказах. Посчитайте количество заказов в каждом статусе.
Таблицы для анализа
- orders
- order_status
- orders_count
- сгруппировать данные по order_status
- посчитать количество заказов
- отсортировать по убыванию orders_count
- сбросить индекс
-
Вводная
Команда международного развития хочет понять, в каких странах у магазина больше всего клиентов.
Условие
В таблице customers хранятся данные о покупателях. Посчитайте количество клиентов в каждой стране.
Таблицы для анализа- customers
- country
- customers_count
- сгруппировать данные по country
- посчитать количество клиентов
- отсортировать по убыванию customers_count
- сбросить индекс
-
Вводная
Категорийный менеджер хочет сравнить категории товаров по средней цене. Важно учитывать только активные товары, которые сейчас доступны в каталоге.
Условие
В таблице products хранятся товары. Посчитайте среднюю базовую цену активных товаров по каждой категории.
Таблицы для анализа
- products
- category_name
- avg_base_price
- products_count
- оставить только активные товары
- сгруппировать данные по category_name
- посчитать среднюю цену base_price
- посчитать количество товаров
- округлить avg_base_price до 2 знаков
- отсортировать по убыванию avg_base_price
- сбросить индекс
-
Вводная
Бизнес-команда хочет понять, какие категории приносят больше всего выручки. Для анализа нужно учитывать только успешно доставленные заказы.
Условие
В таблице order_items хранятся товары у заказов. Посчитайте суммарную выручку по каждой категории товаров.
Таблицы для анализа- order_items
- category_name
- revenue
- items_count
- оставить только строки, где order_status == "delivered"
- сгруппировать данные по category_name
- выручку посчитать как сумму line_net_amount
- количество строк заказа посчитать по order_item_id
- округлить revenue до 2 знаков
- отсортировать по убыванию revenue
- сбросить индекс
-
Вводная
Команда логистики хочет понять, в каких странах доставка занимает больше времени. Для анализа нужно брать только реально доставленные заказы.
Условие
В таблице orders хранятся данные о заказах. Посчитайте средний срок доставки по каждой стране.
Таблицы для анализа
- orders
- country
- avg_delivery_days
- orders_count
- оставить только заказы со статусом delivered
- сгруппировать данные по country
- посчитать среднее значение delivery_days
- посчитать количество заказов
- округлить avg_delivery_days до 2 знаков
- отсортировать по убыванию avg_delivery_days
- сбросить индекс
-
Вводная
Коммерческий директор хочет увидеть товары, которые принесли больше всего денег. Это поможет понять, какие позиции являются ключевыми для бизнеса.
Условие
В таблице order_items хранятся товары у заказов, а в таблице products - справочник товаров. Объедините данные и найдите 10 товаров с самой большой выручкой.
Таблицы для анализа- order_items
- products
- product_id
- product_name
- category_name
- revenue
- items_sold
- объединить order_items и products по product_id
- учитывать только строки, где order_status == "delivered"
- выручку посчитать как сумму line_net_amount
- количество проданных товаров посчитать как сумму quantity
- округлить revenue до 2 знаков
- отсортировать по убыванию revenue
- вывести первые 10 строк
- сбросить индекс