ЧТО МЫ ЕДИМ?
Задавались ли вы вопросом: «Что же едят другие люди?» и «Как выглядит их продуктовая корзина?».
Проходя по супермаркетам, я постоянно замечаю, как сильно отличаются содержимое тележек и подходы людей к покупке продуктов. В одной корзине — десерты, батончики и лимонад, а в другой — куриная грудка, листья салата и пакеты гречки.
Именно такие контрасты заставили меня задуматься о том, как формируются пищевые привычки, какие товары люди выбирают чаще и как же влияют на их решения.
Эта тема оказалась актуальной не только с бытовой точки зрения, но и с позиции анализа потребительского поведения: подобные данные помогают понять тенденции питания, интерес к полезной еде и популярность определённых продуктов.
Данные оказались достаточно разноплановыми, по этой причине в работе были использованы разные форматы графиков.
КРУГОВАЯ ДИАГРАММА
ГИСТОРГАММА
СТОЛБЧАТАЯ ДИАГРАММА
ТЕПЛОВАЯ КАРТА
ЛИНЕЙНЫЙ ГРАФИК
Цветовая палитра проекта
В цветовой палитре, цвета, что мы обычно видим в продуктовой корзине. Яркие фрукты и овощи для поддержания здорового питания.
Красный в качестве акцентного, пастельный в качестве фонового и дополнительные зелёные оттенки.

[»#386641», «#6a994e», «#a7c957», «#f2e8cf», «#bc4749»]
Ячейка 1 — работа с CSV
!pip install fpdf --quiet
import os
(проверьте слева во вкладке Files!) CSV_NAME = "Retail_Transactions_Dataset.csv" # ← переименуйте, если у вас другое имя
Папка для работы target_dir = "/content/retail" os.makedirs(target_dir, exist_ok=True)
if os.path.exists(CSV_NAME): os.replace(CSV_NAME, os.path.join(target_dir, CSV_NAME)) print("CSV найден и перемещён в:", target_dir) else: print("CSV-файл не найден. Проверьте имя файла в Files слева.")
print("Файлы в папке:", os.listdir(target_dir))
Итак, первым делом я загрузила необходимые файлы для работы и создала директории для их хранения, теперь можно приступать к созданию самих таблиц
ТОП-10 товаров
Какие товары люди чаще всего покупают? Среди всех категорий лидерами оказались, на удивление: мороженное, мыло, джем и зубная паста.
Расшифровка значений: toothpaste = зубная паста Ice Cream = мороженное Soap = мыло Jam = джем Orange = сок Sode = газировка Deodorant = дезодорант Cleaning Rags = Чистящие салфетки Air Freshener = Освежитель воздуха Peanut Butter = Ореховое(арахисовое) масло
Столбчатая диаграмма
plt.figure(figsize=(10,6)) sns.barplot(x=top_products.values, y=top_products.index, palette=palette) plt.title("ТОП-10 наиболее частых товаров", fontsize=14) plt.xlabel("Частота", fontsize=12) plt.ylabel("Товар", fontsize=12) plt.tight_layout() plt.savefig(os.path.join(out_dir, "bar_top_products.png"), dpi=150) plt.close()
Распределение стоимости покупок
Какие товары покупают люди мы узнали следующим шагом нужно узнать сколько же люди тратят денег за один поход в магазин.
Основные точки нагрузки оказались суммы около 50 $; 65 $; 75 $
Гистограмма стоимости покупок
plt.figure(figsize=(10,6)) sns.histplot(df['Total_Cost'], bins=25, kde=True, color=palette[0]) plt.title("Распределение стоимости покупок", fontsize=14) plt.xlabel("Стоимость покупки (₽)", fontsize=12) plt.ylabel("Количество транзакций", fontsize=12) plt.tight_layout() plt.savefig(os.path.join(out_dir, "hist_total_cost.png"), dpi=150) plt.close()
Линейный график: Динамика продаж по месяцам
Когда же в основном люди ходят в магазин? Кто-то скажет в декабре — перед новым годом, кто-то скажет летом, в июне — в сезон отпусков.
Давайте же наглядно посмотрим какие месяца самые горячие на покупки и какие закономерности можно проследить от года к году.
Основные месяца с наибольшим объемом покупок вы можете заметить в летний сезон 2020, 2021, 2023 года. Оно и не удивительно, каникулы, отпуска, все отдыхают.
Что же касается месяцев с самыми низкими продажами, традиционно это январь, первый месяц года. Праздники прошли, все понакупили подарков, теперь как то нужно дожить до следующей зарплаты доедая оставшиеся после нового года салаты.
Динамика продаж
datetime df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
столбец Год-Месяц (YYYY-MM) df['YearMonth'] = df['Date'].dt.to_period('M').astype(str)
продажи по месяцам (в общем) sales_by_month = df.groupby('YearMonth')['Total_Cost'].sum()
plt.figure(figsize=(12,6)) sns.lineplot( x=sales_by_month.index, y=sales_by_month.values, marker="o", color="
386641"
из палитры )plt.title("Динамика продаж по месяцам", fontsize=14) plt.xlabel("Месяц", fontsize=12) plt.ylabel("Суммарные продажи", fontsize=12) plt.xticks(rotation=45) plt.grid(alpha=0.3) plt.tight_layout()
plt.savefig(os.path.join(out_dir, "line_sales_month.png"), dpi=150) plt.close()
Распределение по типам магазинов
Круговая диаграмма
store_counts = df['Store_Type'].value_counts() plt.figure(figsize=(8,8)) plt.pie( store_counts.values, labels=store_counts.index, autopct='%1.1f%%', colors=palette, startangle=140 ) plt.title("Распределение по типам магазинов", fontsize=14) plt.savefig(os.path.join(out_dir, "pie_store_type.png"), dpi=150) plt.close()
Корреляция числовых признаков




