Что именно указывают усы на диаграммах панд?

На диаграммах python-pandas с настройками по умолчанию красная полоса — это mean медиана, а прямоугольник означает 25-й и 75-й квартили, но что именно означают усы в этом кейс? Где документация, чтобы выяснить точное определение (не удалось найти)?

Пример кода:

df.boxplot()

Пример результата:

введите здесь описание изображения


person vasek1    schedule 22.08.2012    source источник


Ответы (4)


Они указаны в документации matplotlib. Усы несколько кратны (по умолчанию 1,5) межквартильного диапазона.

person Chang She    schedule 23.08.2012
comment
Ваше короткое объяснение совершенно неверно. Усы — это минимальное и максимальное значения в пределах 1,5-кратного IQR. Точки - выбросы, т.е. е. каждое значение на расстоянии более 1,5 * IQR от ящиков. - person Joooeey; 11.04.2018

Pandas просто обертывает функцию boxplot из matplotlib. В документах matplotlib есть подробное определение усов:

whis : число с плавающей запятой, последовательность или строка (по умолчанию = 1,5)

В качестве поплавка определяет досягаемость усов за пределы первого и третьего квартилей. Другими словами, если IQR представляет собой межквартильный диапазон (Q3-Q1), верхняя вертикальная полоса будет простираться до последнего исходного значения меньше, чем Q3 + ws*IQR). Точно так же нижний ус будет простираться до первого исходного значения больше, чем Q1 - whis*IQR. Данные за пределами усов считаются выбросами и отображаются в виде отдельных точек.

Matplotlib (и Pandas) также дает вам множество возможностей изменить это определение усов по умолчанию:

Установите для этого неоправданно высокое значение, чтобы заставить усы показывать минимальное и максимальное значения. В качестве альтернативы можно установить восходящую последовательность процентилей (например, [5, 95]), чтобы установить усы в определенных процентилях данных. Наконец, whis может быть строковым «диапазоном», чтобы заставить усы соответствовать минимуму и максимуму данных.

Ниже приведен рисунок, иллюстрирующий это из ответа stats.stackexchange. Обратите внимание, что k=1,5, если вы не укажете ключевое слово whis в Pandas.

введите описание изображения здесь

person Joooeey    schedule 11.04.2018

Вы упоминаете в своем вопросе, что красная линия является средней - на самом деле это медиана.

Из ссылки на matplotlib, упомянутой Чанг Ше выше:

Поле простирается от нижнего к верхнему квартилю значений данных с линией в медиане. Усы выходят из поля, чтобы показать диапазон данных. Летучие точки - это те, которые находятся за концом усов.

Я не экспериментировал, но есть опция «средняя линия», которая может поместить линию в среднее значение.

person TimCera    schedule 16.10.2014

Из ответа Амелио Васкес-Рейна в Блочные диаграммы в matplotlib: маркеры и выбросы:

введите здесь описание изображения

Выбросы (маркеры + на диаграмме) — это просто точки за пределами широкого поля [(Q1-1.5 IQR), (Q3+1.5 IQR)] ниже.

К вашему сведению: запутанно расположение заборов на участках с коробчатыми усами

person Franck Dernoncourt    schedule 06.08.2017
comment
люблю это! Спасибо, что поделился - person deborah-digges; 05.03.2018
comment
Обратите внимание, что усы на самом деле не соответствуют 1,5 x IQR из коробки, они представляют собой минимальное и максимальное значения данных в этом диапазоне. - person Joooeey; 03.07.2018