На этом шаге мы рассмотрим возможности библиотеки Pandas для визуализации данных.
Библиотека Pandas предоставляет мощные инструменты для работы с временными рядами. Воспользуемся ими для того, чтобы создать набор данных, у которых в качестве индексов будут временные метки с января 2018 по январь 2019 с периодом в один месяц, а значения для этих меток сгенерируем случайным образом:
date_index = pd.date_range(start='2018', freq='M', periods=12) print(date_index)
Результат:
DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',
'2018-05-31', '2018-06-30', '2018-07-31', '2018-08-31',
'2018-09-30', '2018-10-31', '2018-11-30', '2018-12-31'],
dtype='datetime64[ns]', freq='M')
Набор данных для работы:
np.random.seed(123) data_set = np.random.randint(5, size=len(date_index))
Построим структуру DataFrame:
df = pd.DataFrame(data=data_set, index=date_index, columns=['value'])
Первые пять элементов структуры:
print(df.head())
Результат:
value
2018-01-31 2
2018-02-28 4
2018-03-31 2
2018-04-30 1
2018-05-31 3
Представим данные из df в виде линейного графика с помощью Seaborn:
sns.lineplot(data=df)
Рис.1. Визуализация временного ряда
Вот полный текст приложения:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd date_index = pd.date_range(start='2018', freq='M', periods=12) print(date_index) np.random.seed(123) data_set = np.random.randint(5, size=len(date_index)) df = pd.DataFrame(data=data_set, index=date_index, columns=['value']) print(df.head()) sns.lineplot(data=df) plt.show()
Обратите внимание, что индексы из набора df были использованы в качестве данных для оси х.
На следующем шаге мы рассмотрим диаграмму рассеяния.