Олимпиадный тренинг

Задача . Seaborn 2-й урок. histplot, barplot, boxplot, countplot


Задача

Темы:

Урок 2: Категориальные графики и распределения

В первом уроке мы искали связь между двумя числами (счет и чаевые). Но что, если мы хотим сравнить категории? Например, кто оставляет больше чаевых: мужчины или женщины? В какие дни недели посетителей больше всего? Для этого в Seaborn есть специальные инструменты.

1. Подсчет категорий: Countplot

Если нам нужно просто посчитать количество записей в каждой категории, используем sns.countplot(). Это аналог гистограммы, но для текстовых/категориальных данных.

# Считаем количество посетителей по дням недели
sns.countplot(data=tips, x="day", hue="sex")
plt.title("Количество заказов по дням недели")
plt.show()

2. Столбчатые диаграммы: Barplot

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

# Смотрим, в какой день средний чек выше
sns.barplot(data=tips, x="day", y="total_bill", hue="smoker")
plt.title("Средний чек по дням недели (курящие vs некурящие)")
plt.show()

3. Ящики с усами: Boxplot

Один из самых важных графиков в анализе данных. Он показывает не только среднее, но и медиану, квартили и выбросы (аномальные значения, которые отображаются точками).

# Анализируем распределение чаевых по дням
sns.boxplot(data=tips, x="day", y="tip", palette="pastel")
plt.title("Распределение чаевых по дням недели")
plt.show()

4. Гистограммы распределения: Histplot

Чтобы понять, как вообще распределены наши данные (например, какие суммы счетов встречаются чаще всего), используется гистограмма.

# Смотрим на распределение всех счетов
sns.histplot(data=tips, x="total_bill", kde=True, bins=20)
plt.title("Распределение суммы чеков")
plt.show()

(Параметр kde=True добавляет плавную линию тренда, а bins=20 разбивает данные на 20 колонок).
 

🛠 Практическое задание

Задание 1: Кто щедрее? Используя график barplot, построй визуализацию, которая покажет средний размер чаевых (tip) в зависимости от пола клиента (sex).

  • Раздели столбики по времени суток (time), используя параметр hue.

  • Задай стиль графика whitegrid.

Задание 2: Поиск аномалий В ресторане иногда оставляют аномально большие чаевые.

  • Построй boxplot.

  • По оси X расположи время суток (time), а по оси Y — размер чаевых (tip).

  • Измени палитру на Set2.

Задание 3: Самостоятельное исследование (Пингвины)

В библиотеке Seaborn есть встроенный датасет penguins, содержащий данные о пингвинах (их вид, остров обитания, физические параметры и пол).

Загрузите данные с помощью команды penguins = sns.load_dataset("penguins") и проведите самостоятельное исследование. Ваша задача — с помощью правильных визуализаций ответить на три вопроса.

Описание данных (Датасет «Пингвины»)

Название колонки Перевод Что означает
species Вид К какому виду относится пингвин: Adelie (Адели), Chinstrap (Антарктический) или Gentoo (Субантарктический).
island Остров Название острова в архиве Палмера (Антарктида), где был замечен пингвин: Biscoe, Dream или Torgersen.
bill_length_mm Длина клюва Длина верхней части клюва (в миллиметрах).
bill_depth_mm Высота клюва «Толщина» клюва от основания (в миллиметрах).
flipper_length_mm Длина крыла Длина ласта/крыла пингвина (в миллиметрах).
body_mass_g Масса тела Вес пингвина в граммах.
sex Пол Самец (Male) или Самка (Female).


Тип графика для каждого случая выберите самостоятельно:

  1. Демография: Пингвинов какого вида (species) в нашем датасете больше всего?

  2. Весовые категории: Как распределяется масса тела (body_mass_g) у разных видов пингвинов? (Покажите медиану, разброс и возможные аномалии на одном графике).

  3. Половой диморфизм: У какого вида пингвинов наблюдается наибольшая разница в массе тела между самцами (Male) и самками (Female)?

 

Домашнее задание:

Задача 1: Поиск связи (Скаттерплот) Постройте точечный график (график рассеяния), чтобы проверить, есть ли связь между длиной крыла (flipper_length_mm — ось X) и массой тела (body_mass_g — ось Y).

Задача 2: Анализ клювов (Гистограмма) Вам нужно узнать, какие размеры клювов встречаются чаще всего. Постройте гистограмму распределения для столбца длины клюва (bill_length_mm). Обязательно добавьте плавную линию тренда.

Задача 3: Кто где живет (Категориальный подсчет) Пингвины в датасете обитают на трех разных островах. Постройте график, который просто посчитает и покажет количество записей для каждого острова (island).

Задача 4: Сравнение средних (Столбчатая диаграмма) С помощью столбчатой диаграммы покажите среднюю длину крыла (flipper_length_mm) для каждого вида пингвинов (species). Раскрасьте столбики в разные цвета в зависимости от вида.

Задача 5: Детальное сравнение (boxplot) Постройте график «ящик с усами», чтобы сравнить толщину клюва (bill_depth_mm) у самцов и самок (sex). Установите любой темный фон графика (например, darkgrid), чтобы он выглядел стильно.




time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя