Исходный размер 1140x1596

Анализ данных продуктовой корзины.

PROTECT STATUS: not protected

ЧТО МЫ ЕДИМ?

Задавались ли вы вопросом: «Что же едят другие люди?» и «Как выглядит их продуктовая корзина?».

Проходя по супермаркетам, я постоянно замечаю, как сильно отличаются содержимое тележек и подходы людей к покупке продуктов. В одной корзине — десерты, батончики и лимонад, а в другой — куриная грудка, листья салата и пакеты гречки.

Именно такие контрасты заставили меня задуматься о том, как формируются пищевые привычки, какие товары люди выбирают чаще и как же влияют на их решения.

Эта тема оказалась актуальной не только с бытовой точки зрения, но и с позиции анализа потребительского поведения: подобные данные помогают понять тенденции питания, интерес к полезной еде и популярность определённых продуктов.

Данные оказались достаточно разноплановыми, по этой причине в работе были использованы разные форматы графиков.

КРУГОВАЯ ДИАГРАММА

ГИСТОРГАММА

СТОЛБЧАТАЯ ДИАГРАММА

ТЕПЛОВАЯ КАРТА

ЛИНЕЙНЫЙ ГРАФИК

Цветовая палитра проекта

В цветовой палитре, цвета, что мы обычно видим в продуктовой корзине. Яркие фрукты и овощи для поддержания здорового питания.

Красный в качестве акцентного, пастельный в качестве фонового и дополнительные зелёные оттенки.

big
Исходный размер 1920x489

[»#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 товаров

Какие товары люди чаще всего покупают? Среди всех категорий лидерами оказались, на удивление: мороженное, мыло, джем и зубная паста.

Исходный размер 1500x900

Расшифровка значений: 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 $

Исходный размер 1500x900

Гистограмма стоимости покупок

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 года. Оно и не удивительно, каникулы, отпуска, все отдыхают.

Что же касается месяцев с самыми низкими продажами, традиционно это январь, первый месяц года. Праздники прошли, все понакупили подарков, теперь как то нужно дожить до следующей зарплаты доедая оставшиеся после нового года салаты.

Исходный размер 1800x900

Динамика продаж

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()

Распределение по типам магазинов

Исходный размер 1200x1200

Круговая диаграмма

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()

Корреляция числовых признаков

Анализ данных продуктовой корзины.
Проект создан 16.01.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше