Представьте свои данные в виде горного хребта - и по пути обнаруживайте скрытые детали.
Вы не устали рисовать гистограммы или графики плотности для каждого сегмента переменной? Есть более простое решение. Графики Ridgeline - это лучший способ визуализации для этого типа проблем. Да, даже для нескольких переменных одновременно.
Вот что вы сделаете сегодня:

Чтение кажется кошмаром? Есть простое решение:
Приступим к делу. Вот как структурирована статья:
- Загрузка и подготовка набора данных
- График Ridgeline для одной переменной
- График Ridgeline для нескольких переменных
- Заключение
Загрузка и подготовка набора данных
Набор данных, который вы будете использовать сегодня, называется Дождь в Австралии, поэтому, пожалуйста, загрузите его. Вы не будете использовать его для предсказания дождя, как говорится в описании, а для визуализации.
Вы будете использовать только четыре столбца:
Date- полезно для извлечения информации за месяцLocation- вы будете работать только с данными СиднеяMinTemp– минимальная дневная температураMaxTemp– максимальная температура за день
Прежде чем приступить к загрузке набора данных, вам необходимо установить одну библиотеку - joypy. Он используется для создания графиков радости или графиков линий в Python:
pip install joypy
Вот как загрузить набор данных. Имейте в виду, что вам нужны только четыре упомянутых столбца:
Первая пара строк должна выглядеть так:

Теперь перейдем к подготовке. Список дел довольно короткий:
- Создайте фрейм данных
sydney, содержащий данные только для этого города - Откажитесь от колонки
Location - Преобразование столбца
Dateв типdatetime64 - Извлечь названия месяцев из даты
Вот код:
Набор данных теперь выглядит так:

Это начинает выглядеть хорошо, но вы еще не закончили. Набор данных не знает отношения между месяцами. В результате упорядочить их на графике - кошмар.
У Pandas есть CategoricalDtype класс, который может вам в этом помочь. Вам необходимо указать порядок категорий, а затем выполнить преобразование. Вот как:
Доступ к dtypes информирует вас, что преобразование прошло успешно:

Готово, все готово! Пришло время сделать несколько хребтовых сюжетов.
График Ridgeline для одной переменной
Рисование диаграммы сводится к одному вызову функции. Вот код, который вам понадобится для построения графика максимальных температур в Сиднее:
Вы можете отказаться от первой и последней двух строк, если вас не волнует заголовок. Достаточно звонка на joyplot().
Вот как выглядит визуализация:

Мне потребовалось время, чтобы понять, что с визуализацией все в порядке. Набор данных содержит данные о температуре для Австралии. Времена года здесь противоположны сезонам в северном полушарии.
Давайте посмотрим, как усложнить задачу, добавив в график вторую переменную.
График Ridgeline для нескольких переменных
Помимо построения графиков распределения максимальных температур, теперь вы должны указать минимальную температуру. И снова библиотека thejoyplot упрощает:
Вот как выглядит визуализация:

Найдите минутку, чтобы оценить, сколько информации показано на этой единственной диаграмме. Для самого наивного подхода вам потребовалось бы 24 графика плотности, и сравнение было бы не таким простым.
Давайте подведем итоги.
Заключение
И это в двух словах. Вы могли бы сделать больше - например, раскрасить область под кривой какой-либо переменной. Официальная документация содержит множество примеров - изучите ее, если у вас есть время.
Подводя итог - используйте линейные графики всякий раз, когда вам нужно компактно визуализировать распределения переменных и их сегментов. Вам следует избегать рисования гистограмм и графиков плотности вручную для переменных сегментов.