Рубрикатор
- Введение
- Загрузка данных
- Обработка и анализ данных
- Оформление данных
- Итоговые графики
- Заключение
- Ресурсы и генеративные модели

Изображение сгенерировано с помощью нейросети LeonardoAi
Введение
Вино давно стало неотъемлемой частью наших семейных застолий. Будь то торжество по случаю праздника или же просто уютный ужин в пятницу вечером — ароматное вино объединяет все поколения за одним столом, создавая по-особенному тёплую атмосферу. Этот напиток не просто доставляет удовольствие своим вкусом, но также наполняет бокалы историями и эмоциями.
Когда-то я задумалась над тем, как мой отец, коллекционер вин и ценитель вкусов, выбирает хорошее вино, каким критериям отвечают лучшие образцы и каковы основные факторы, влияющие на качество продукта.
Вдохновившись семейной историей, я решила проанализировать данные о качестве испанского вина. На сайте kaggle.com я выбрала датасет «Spanish Wine Quality Dataset». Он содержит информацию о винодельнях, названии вина, годе выпуска, рейтинге вина, количестве отзывов, регионе производства, стоимости, типе вина, его плотности и кислотности.
Я решила представить данные в виде 5 типов графиков: столбчатая диаграмма для распределения количества вин по годам производства, график рассеяния для анализа корреляции между ценой и рейтингом, круговая диаграмма для распределения вина по категориям кислотности, гистограмма для визуализации топ-10 типов вина по количеству рецензий и линейная диаграмма для распределения количества вин по категориям их плотности.
Загрузка данных
Для работы с данными я импортировала библиотеку pandas. Затем импортировала библиотеки matplotlib.pyplot и seaborn для построения графиков.
Обработка и анализ данных
Данные содержат пропуски. Для того, чтобы продолжить работу над чистыми данными и провести корректный анализ, я удалила пропущенные значения с помощью .dropna().
Далее я перешла к анализу данных. Я написала код, который помог определить топ-10 популярных типов вина по количеству отзывов.
.groupby('type') группирует данные по столбцу type, .size() считает количество отзывов для каждой группы, .nlargest(10, 'count') берёт 10 строк с максимальным значением количества отзывов.
После этого я решила посчитать корреляцию между признаками price (цена) и rating (рейтинг). С помощью метода .corr я выяснила, что корреляция равняется 0.55, что указывает на умеренную взаимосвязь.
Затем я посчитала среднюю цену вина. average_price_by_wine определяет среднее значение столбца price (цена) для каждого уникального значения в столбце wine (вино) : df_cleaned.groupby('wine') группирует данные из столбца wine и для каждого вина вычисляет среднюю стоимость, затем сортирует вина по убыванию средней цены и берёт первые 10 самых дорогих вин. Так я выяснила, что самое дорогое вино по средней стоимости — La Faraona Bierzo (Corullon).
Оформление данных
Для создания палитры я сгенерировала изображение с помощью нейросети leonardo.ai. Далее на сайте Adobe Color я извлекла цвета из картинки. Мне показалось, что данному проекту лучше всего подойдёт гамма винных оттенков.
Изображение сгенерировано с помощью нейросети LeonardoAi
Затем я установила глобальные настройки стиля всех графиков. При помощи plt.rcParams я определила белый цвет для текста, подписей и меток осей. Использовав axes.titleweight и axes.labelweight, я сделала жирное начертание у заголовков и подписей осей, чтобы сильнее выделить их.
Итоговые графики
1. Количество вин по годам
2. Распределение вин по категориям кислотности




