Короткий ответ
Boxplot показывает медиану, межквартильный размах (IQR), «усы» и выбросы по каждой группе, что позволяет сравнить типичное значение и разброс по регионам одновременно.
Как это работает подробнее
Коробка соответствует диапазону Q1-Q3 (IQR), линия внутри — медиана, усы обычно идут до 1.5×IQR от краёв коробки, точки за их пределами — потенциальные выбросы.
Пример кода
example.py
import pandas as pd
import seaborn as sns
import numpy as np
np.random.seed(1)
df = pd.DataFrame({
"region": ["North"] * 100 + ["South"] * 100 + ["East"] * 100,
"amount": np.concatenate([
np.random.normal(60, 15, 100),
np.random.normal(80, 10, 100),
np.random.normal(55, 25, 100),
]),
})
ax = sns.boxplot(data=df, x="region", y="amount")Что использовать на практике
- Рекомендация. Boxplot лучше подходит для сравнения распределений со скосом, чем столбчатая диаграмма средних значений, так как показывает разброс и выбросы, а не только одну точечную оценку.
Подводные камни
- Риск. Сравнение только средних значений по регионам без учёта формы распределения скрывает выбросы и реальный разброс.
- Риск. Сравнение boxplot'ов разных групп без учёта сильно различающегося размера выборки в каждой.