
Выбор данных
Когда я искала датасет на сайте Kaggle, я наткнулась на статистику под названием Shopping Trends. Я решила взять именно её, так как мне, как и любой другой девушке, интересна тема моды и шоппинга. Как правило покупка одежды является импульсивным и эмоциональным процессом. Но что если посмотреть на это с другой, математической и научной стороны?
Виды диаграмм
В своей работе я использовала четыре типа диаграмм: 1. Столбчатая диаграмма 2. Точечная диаграмма 3. Круговая диаграмма 4. Линейчатая диаграмма
Я выбрала именно эти типы, чтобы наглядно показать разницу между данными.
Стиль диаграмм
Я использовала яркие и преимущественно розовые оттенки, поскольку именно они ассоциируются у меня с гламурным и разнообразным миром шоппинга.

Изучающий и объясняющий формат визуализации данных
В моей работе использован только изучающий формат визуализации данных. Я показала статистику, но не стала показывать зависимость одного от другого.
Используемые статистические методы
В своей работе я использовала следующие статистические методы: 1. Описательная статистика (в графиках я обобщала и описывала основные характеристики данных) 2. Выводная статистика (я сделала выводы о совокупности данных на основе анализа выборки) 3. Кластерный анализ (я группировала данные на основе их сходства)
Диаграммы
Одежду каких цветов покупают чаще всего?
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv ('Shopping_behavior_updated.csv')
color_counts = df['Color'].value_counts () top_colors = color_counts.head (25) # Get the top 25 colors
plt.rcParams['font.family'] = 'Montserrat' colors = ['ff1fc3', '74009f', '0097e9', 'ff097f', 'ffb4e0', 'ce7fff'] # A set of defined colors
plt.figure (figsize=(10, 6)) plt.bar (top_colors.index, top_colors.values, color=colors[: len (top_colors)]) plt.title ('Распределение по цветам') plt.xlabel ('Цвет') plt.ylabel ('Количество') plt.xticks (rotation=45, ha='right') # Rotate x-axis labels for better readability plt.tight_layout () # Adjust layout to prevent labels from overlapping plt.show ()
Как распределяется количество покупок по временам года?
import matplotlib.pyplot as plt import pandas as pd import matplotlib.font_manager as fm
df = pd.read_csv ('Shopping_behavior_updated.csv')
font_path = '/content/Montserrat-VariableFont_wght.ttf' if fm.findfont ('Montserrat', fontext='ttf') is None: fm.fontManager.addfont (font_path) plt.rcParams['font.family'] = 'Montserrat'
season_counts = df['Season'].value_counts () season_order = ['Spring', 'Summer', 'Fall', 'Winter'] season_counts = season_counts.reindex (season_order, fill_value=0)
plt.figure (figsize=(10, 6)) plt.plot (season_counts.index, season_counts.values, marker='o', linestyle='-', color='#74009f') plt.title ('Распределение покупок по сезонам') plt.xlabel ('Сезон') plt.ylabel ('Количество покупок') plt.grid (True) plt.tight_layout () plt.show ()
Какие размеры покупают чаще всего?
import matplotlib.pyplot as plt from matplotlib import pyplot as plt import pandas as pd df = pd.read_csv ('Shopping_behavior_updated.csv') size_counts = df ['Size'].value_counts () top_sizes = size_counts. head (4)
colors=['ff1fc3', '74009f', '0097e9', 'ff97f', 'ffb4e0', 'ce7fff']
plt.figure (figsize=(10,8)) plt.pie (top_sizes, labels=top_sizes.index, autopct='%1.1f%%', startangle=90, colors=colors) plt.title ('Преобладание размеров') plt.axis ('equal') plt.show ()
Какие товары покупают чаще всего?
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv ('Shopping_behavior_updated.csv')
category_counts = df['Category'].value_counts () top_categories = category_counts.head (5) # Get the top 5 categories
plt.rcParams['font.family'] = 'Montserrat' colors = ['ff1fc3', '74009f', '0097e9', 'ff097f', 'ffb4e0', 'ce7fff'] # A set of defined colors
plt.figure (figsize=(10, 6)) plt.bar (top_categories.index, top_categories.values, color=colors[: len (top_categories)]) plt.title ('Количество покупаемых продуктов по категориям') plt.xlabel ('Категории') plt.ylabel ('Количество') plt.xticks (rotation=45, ha='right') # Rotate x-axis labels for better readability plt.tight_layout () # Adjust layout to prevent labels from overlapping plt.show ()
Нейросети
Для создания обложки проекта я использовала нейросеть Krea. promt: Generate a pattern realistic image with a lot of different stylish clothes on black background that overlap each other
Для усовершенствования своего кода я использовала нейросеть Gemini.
Заключение
В конечном итоге у меня получилось четыре графика, которые позволили взглянуть на мир шоппинга с другой стороны. Теперь нам известно, в какое время года мы чаще всего покупаем одежду, какие оттенки сейчас наиболее востребованы и многое другое. Это позволит относится к приобретению одежды более осознанно.