Python

Разности временного ряда. Питон

Вычислите разности временного ряда. Пропущенные значения заполнять не нужно.
На графике изобразите скользящее среднее и скользящее стандартное отклонение (уже в прекоде).
import pandas as pd

data = pd.read _csv('/datasets/energy_consumption.csv', index_col=[0], parse_dates=[0])
data.sort_index(inplace=True)
data = data['2018-01':'2018-06'].resample('1D').sum()
# < напишите код здесь >
data['mean'] = data['PJME_MW'].rolling(15).mean()
data['std'] = data['PJME_MW'].rolling(15).std()
data.plot()
Для вычисления разности временного ряда можно использовать метод diff() в Pandas DataFrame. Этот метод вычисляет разность между текущим и предыдущим элементом. Вот пример кода, который вы можете использовать для вычисления разности временного ряда:
 data['diff'] = data['PJME_MW'].diff() 
Что касается графика, то вы уже правильно вычислили скользящее среднее и скользящее стандартное отклонение с помощью методов rolling().mean() и rolling().std(). Теперь вы можете просто вызвать метод plot() для отображения графика. Ваш код должен выглядеть примерно так:
 import pandas as pd  

data = pd.read_csv('/datasets/energy_consumption.csv', index_col=[0], parse_dates=[0])
data.sort_index(inplace=True)
data = data['2018-01':'2018-06'].resample('1D').sum()

# Вычисление разности временного ряда
data['diff'] = data['PJME_MW'].diff()

# Вычисление скользящего среднего и скользящего стандартного отклонения
data['mean'] = data['PJME_MW'].rolling(15).mean()
data['std'] = data['PJME_MW'].rolling(15).std()

# Отображение графика
data.plot()
ПV
Паха Vip
25 860
Лучший ответ
Для вычисления разностей временного ряда в pandas можно использовать метод diff(). Этот метод вычисляет разницу между текущим и предыдущим элементом. В случае временного ряда это будет отражать изменение значения по сравнению с предыдущим периодом.
Ваш код будет выглядеть следующим образом:
 import pandas as pd  

data = pd.read_csv('/datasets/energy_consumption.csv', index_col=[0], parse_dates=[0])
data.sort_index(inplace=True)
data = data['2018-01':'2018-06'].resample('1D').sum()

# добавьте вот эту строку чтобы расчитать разность
data['PJME_MW_diff'] = data['PJME_MW'].diff()

data['mean'] = data['PJME_MW'].rolling(15).mean()
data['std'] = data['PJME_MW'].rolling(15).std()
data.plot()
Обратите внимание, что первое значение в столбце 'PJME_MW_diff' будет NaN, поскольку для первого элемента не существует предыдущего элемента, чтобы вычесть.
Р*
Руc *
1 900