Зарегистрируйтесь, чтобы продолжить обучение

Введение в визуализацию данных Python: Визуализация данных

В этом курсе мы разберем библиотеки языка Python для визуализации данных. Это инструментарий аналитика, который позволяет:

  • Смотреть на данные за длительный период в емкой форме
  • Обнаруживать зависимости и тренды в данных
  • Находить ошибки в данных и нехарактерные значения
  • Исследовать статистические характеристики данных
  • Строить различные гипотезы о данных перед их дальнейшим аналитическим подтверждением

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

  • Matplotlib
  • Seaborn
  • Plotly

В этом уроке мы разберем, по каким причинам аналитики используют указанные библиотеки, и как выглядит типичный порядок работы с ними.

Визуализация в анализе данных

Когда мы передаем информацию третьим лицам, нам часто не хватает места и времени для ее демонстрации. В таких случаях мы подаем информацию в графическом виде — например, составляем презентацию с инфографикой для доклада выступления на конференции.

Качественная презентация позволяет:

  • Увидеть тренды изменения показателей компаний, рост или убывание прибыли
  • Провести сравнительный анализ при переходе от одной стратегии развития бизнеса к другой
  • Подчеркнуть зависимость одних показателей от других

Еще с помощью инструментов для визуализации можно посчитать статистические показатели или сделать агрегацию данных — допустим, найти сумму месячной прибыли по дневным показателям. Также эти инструменты позволяют построить графики и диаграммы самих данных или их агрегаций.

Аналитики должны обладать всеми перечисленными навыками. В рамках курса мы подробнее остановимся на последнем — построении графиков и диаграмм. Мы будем визуализировать данные с помощью библиотек языка Python.

Существует множество готовых открытых и коммерческих решений для аналитики. Но Python — это один из самых распространенных языков для решения задач, связанных с анализом данных и машинным обучением. Освоив Python, аналитик получает мощный инструмент, который помогает получать, обрабатывать и анализировать данные.

Библиотеки визуализации и типы графиков

Для визуализации данных на языке Python используют библиотеки:

  • Matplotlib
  • Seaborn
  • Plotly

Matplotlib — это одна из первых библиотек языка Python, разработанная для визуализации данных. У нее гибкая конфигурация свойств и широкий спектр графиков, который покрывает востребованные аналитические задачи. Среди них наиболее популярны:

  • Линейные графики
  • Столбчатые и круговые диаграммы
  • Гистограммы

Все эти графики можно построить с помощью Pyplot, специального модуля для Matplotlib. В коде название модуля Pyplot часто сокращается до plt. Рассмотрим построение каждого из графиков подробнее.

Строим линейные графики

Для начала построим линейный график с помощью метода plot():

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7]
y = [10, 15, 13, 17, 20, 22, 25]

plt.plot(x, y)
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Simple Line Graph")
plt.show()

В итоге мы получим такой график:

linplot

Строим столбчатые и круговые диаграммы

Для сравнительного анализа показателей используют столбчатые и круговые диаграммы. Построим круговой график:

# Данные
sizes = [25, 30, 15, 10]
labels = ["Apple", "Banana", "Orange", "Grapes"]

# Создание круговой диаграммы
plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("Pie Chart")
plt.show()

Изучим получившуюся диаграмму. Весь круг — это общее количество фруктов в магазине. Сектора этого круга показывают отдельно количество яблок, бананов, апельсинов и винограда в процентах:

linplot

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

Строим гистограмму

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

Перейдем к примеру:

import numpy as np

# Создание случайных данных
data = np.random.randn(1000)

plt.hist(data, bins=30)
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.title("Histogram")
plt.show()

Здесь мы дополнительно используем библиотеку NumPy для генерации случайной последовательности. В этом курсе мы будем иногда использовать конструкции NumPy, потому что библиотеки по визуализации данных используют ее в своих методах.

В итоге мы получим такую визуализацию:

plt_hist

Здесь каждый столбец — это количество значений, которые попадают в соответствующий интервал, отложенный на горизонтальной оси. В качестве параметра bins мы указали, что хотим взять отрезок со всеми значениями и разбить его на 30 равных частей. Так на рисунке появился 30 столбцов.

Использование Matplotlib осложняется тем, что необходимо понимать ее внутреннее устройство: иерархию объектов и их методы. Чтобы облегчить задачу, поверх Matplotlib мы будем использовать библиотеки Seaborn и Plotly, более простые в использовании.

Строим гистограмму в Seaborn и Plotly

Построение гистограммы в Seaborn выглядит так:

import seaborn as sns

sns.histplot(data=data)

Результат аналогичен построению в Matplotlib:

sns_hist

Код для Plotly тоже достаточно лаконичен:

import plotly.express as px

fig = px.histogram(data)
fig.show()

Библиотека Plotly отличается от других интерактивностью. Например, построенные с ее помощью графические объекты могут изменять масштаб и подсвечивать значения в конкретных точках.

Выводы

Визуализация данных — это один из необходимых инструментов, которым должен владеть аналитик данных. Она позволяет обозревать большие объемы данных, что актуально для современных аналитических задач. В этом уроке мы познакомились с библиотеками языка Python для визуализации данных:

  • Matplotlib
  • Seaborn
  • Plotly

С их помощью построили графики, которые часто используются аналитиками на практике:

  • Линейные графики
  • Гистограммы
  • Столбчатые и круговые диаграммы

Далее мы погрузимся в основные возможности этих библиотек и все нюансы их использования.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff