Работа с временными рядами в pandas

Работа с временными рядами - важная задача в анализе данных. Pandas - популярная библиотека Python для работы с данными, которая предоставляет удобные инструменты для анализа временных рядов.

Работа с временными рядами в pandas
Краткое содержание

Создание временного ряда

Для создания временного ряда в Pandas можно использовать класс DatetimeIndex. Пример:

import pandas as pd

dates = pd.date_range('2023-01-01', periods=5, freq='D')
data = pd.Series(range(5), index=dates)
print(data)

Результат:

2023-01-01    0
2023-01-02    1
2023-01-03    2
2023-01-04    3
2023-01-05    4
Freq: D, dtype: int64

Здесь мы создали временной ряд с 5 элементами и дневной частотой (freq='D').

Выбор данных по времени

Pandas позволяет легко выбирать данные по временному диапазону. Пример:

print(data['2023-01-02':'2023-01-04'])

Результат:

2023-01-02    1
2023-01-03    2
2023-01-04    3
Freq: D, dtype: int64

Мы выбрали данные за период с 2 по 4 января 2023 года.

Ресемплинг

Ресемплинг позволяет изменять частоту временного ряда. Пример перехода от дневных данных к месячным с суммированием:

monthly_data = data.resample('M').sum()
print(monthly_data) 

Результат:

2023-01-31    10
Freq: M, dtype: int64

Мы просуммировали дневные данные до месячных.

Сдвиги и разности

Pandas позволяет легко вычислять сдвиги (лаги) и разности значений временного ряда. Пример:

data_shift = data.shift(1)
data_diff = data - data_shift
print(data_diff)

Результат:

2023-01-01    NaN
2023-01-02    1.0
2023-01-03    1.0
2023-01-04    1.0
2023-01-05    1.0
Freq: D, dtype: float64

Мы вычислили разности между текущими и предыдущими значениями ряда.

Скользящие окна

Скользящие окна позволяют вычислять статистики в окне определенной ширины. Пример расчета скользящего среднего:

rolling_mean = data.rolling(window=3).mean()
print(rolling_mean)

Результат:

2023-01-01    NaN
2023-01-02    NaN
2023-01-03    1.0
2023-01-04    2.0
2023-01-05    3.0
Freq: D, dtype: float64

Мы рассчитали скользящее среднее в окне шириной 3 .

Pandas предоставляет множество удобных инструментов для работы с временными рядами. Мы рассмотрели основные операции, такие как создание рядов, выбор данных по времени, ресемплинг, сдвиги, разности и скользящие окна. Эти инструменты позволяют эффективно анализировать и обрабатывать временные данные.

Nerd IT 🌀 ML, DS, ANN, GPT
Привет! Меня зовут Семён, я работаю в сфере ML и аналитики данных и пишу в блог nerdit.ru статьи о своем опыте и том, что может пригодиться начинающим в начале их пути изучения больших данных.

Подписаться на новости Nerd IT

Не пропустите последние выпуски. Зарегистрируйтесь сейчас, чтобы получить полный доступ к статьям.
jamie@example.com
Подписаться