Выбор данных
Когда я искала датасет на сайте Kaggle, я наткнулась на статистику под названием Shopping Trends. Я решила взять именно её, так как мне, как и любой другой девушке, интересна тема моды и шоппинга. Как правило покупка одежды является импульсивным и эмоциональным процессом. Но что если посмотреть на это с другой, математической и научной стороны?
Виды диаграмм
В своей работе я использовала четыре типа диаграмм:
- Столбчатая диаграмма
- Точечная диаграмма
- Круговая диаграмма
- Линейчатая диаграмма
Я выбрала именно эти типы, чтобы наглядно показать разницу между данными.
Стиль диаграмм
Я использовала яркие и преимущественно розовые оттенки, поскольку именно они ассоциируются у меня с гламурным и разнообразным миром шоппинга.
Изучающий и объясняющий формат визуализации данных
В моей работе использован только изучающий формат визуализации данных. Я показала статистику, но не стала показывать зависимость одного от другого.
Используемые статистические методы
В своей работе я использовала следующие статистические методы:
- Описательная статистика (в графиках я обобщала и описывала основные характеристики данных)
- Выводная статистика (я сделала выводы о совокупности данных на основе анализа выборки)
- Кластерный анализ (я группировала данные на основе их сходства)
Диаграммы
Одежду каких цветов покупают чаще всего?
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.
Заключение
В конечном итоге у меня получилось четыре графика, которые позволили взглянуть на мир шоппинга с другой стороны. Теперь нам известно, в какое время года мы чаще всего покупаем одежду, какие оттенки сейчас наиболее востребованы и многое другое. Это позволит относится к приобретению одежды более осознанно.



