Про визуализацию на Python написано огромное количество статьей. Даже мы уже неоднократно пытались выбрать самую универсальную и удобную библиотеку, которая бы закрывал все потребности. Но прогресс не стоит на месте и постоянно появляются новые решения, способные упростить рутинные задачи и повысить конечное качество визуализации.
Сегодня LabelMe расскажет про еще один инструмент, который станет швейцарским ножом в арсенале любого специалиста по данным. Просим любить и жаловать - Altair.
Что такое Altair
Altair - это библиотека визуализации статистических данных для Python. Он обеспечивает простой и понятный синтаксис для создания как статических, так и интерактивных визуализаций.
Одним из ключевых отличий Altair от других распространенных библиотек визуализации данных является простота интеграции компонентов анализа данных в визуализации. Это делает Altair очень практичным инструментом для исследования данных.
В этой статье мы пошагово разберём, как создать визуализацию, которая включает операции фильтрации, группировки и слияния. В конце, мы создадим информативный график, который можно будет использовать в процессе исследовательского анализа данных.
Начало работы с Altair
Сначала мы генерируем макет данных, который состоит из двух фреймов данных: первый содержит заказы ресторана, а второй - цены на товары в чеке.
Значения генерируются с помощью функций numpy. Затем мы добавляем тип заказа, используя список из 100 позиций. Функция shuffle нужна для рандомизации списка. Давайте взглянем на фреймы данных, которые мы только что создали.
Мы разработали фреймы данных таким образом, чтобы можно было использовать операцию слияния. К тому же это отчасти демонстрирует идею реляционных баз данных.
Давайте сначала создадим простой график, чтобы представить структуру синтаксиса Altair.
Мы начинаем с передачи данных в Chart object. Данные могут быть как в форме фрейма данных Pandas, так и строки URL-адреса, указывающего на файл json или csv. Затем выбирается тип визуализации (например, mark_circle, mark_line и так далее).
Функция encode определяет, что нужно построить в данном фрейме данных. Таким образом, всё, что мы пишем в функции кодирования, должно быть связано с фреймом данных. Наконец, мы указываем определенные свойства графика с помощью функции свойств.
Как создать диаграмму разброса значений
Рассмотрим случай, когда нам нужно создать диаграмму разброса значений цены и чаевых. Они находятся в разных фреймах данных. Один из вариантов - объединить два фрейма данных и использовать эти два столбца в точечной диаграмме.
Altair предлагает более практичный способ: искать столбец в другом фрейме данных. Это реализовано так же, как у функции слияния Pandas.
Функция transform_lookup аналогична функции merge в Pandas. Столбец, используемый для сопоставления наблюдений (то есть строки), передается параметру lookup. Параметр fields используется для выбора нужных столбцов из другого фрейма данных.
Как интегрировать компоненты фильтрации в график
Мы также можем интегрировать в наш график компонент фильтрации. Построим точки данных с ценой более 10 долларов.
Давайте подробно рассмотрим каждый шаг:
- transform_lookup: ищет цену во фрейме цен.
- transform_filter: фильтрует цены меньше 20 долларов.
- transform_aggregate: группирует цены по типу заказа и вычисляет среднее значение.
Убедитесь, что вы передали имя агрегированного столбца функции encode.
Заключение
Фильтрация, объединение и группировка необходимы для исследовательского процесса анализа данных. Altair позволяет выполнять все эти операции при создании визуализаций данных в одном месте, что делает эту библиотеку полноценным инструментом для анализа данных.
Примеры, приведённые в статье, могут показаться не очень полезными, но они ясно объясняют, как эти компоненты используются в визуализациях.
Советуем подробнее изучить возможность Altair, ведь он может быть очень полезен и прост в использовании.
Другие наши статьи:
Наши соцсети: