Original size 1140x1596

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

PROTECT STATUS: not protected

ЧТО МЫ ЕДИМ?

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

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

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

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

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

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

ГИСТОРГАММА

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

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

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

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

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

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

Original size 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 товаров

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

Original size 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 $

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

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

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

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

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

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

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

Original size 1200x900

Тепловая карта корреляций

corr = df[['Total_Cost', 'Total_Items', 'Discount_Flag', 'Year']].corr (method='spearman') plt.figure (figsize=(8,6)) sns.heatmap (corr, annot=True, cmap="YlGnBu») plt.title («Корреляции числовых признаков», fontsize=14) plt.tight_layout () plt.savefig (os.path.join (out_dir, «heat_corr.png»), dpi=150) plt.close ()

Ссылки

Датасет: https://www.kaggle.com/datasets/prasad22/retail-transactions-dataset?resource=download

ИИ: ReCraft — генерация обложки

Create a palette — цветовая палитра

Анализ данных продуктовой корзины.
Project created at 16.01.2026
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more