Вычислите скользящее среднее и добавьте его как признак rolling_mean. В функцию make_features() добавьте новый аргумент rolling_mean_size, который задаст ширину окна. Текущее значение ряда для расчёта скользящего среднего применять нельзя.

Примените функцию к таблице и напечатайте на экране её первые пять строк (уже в прекоде).

Подсказка

Чтобы не учитывать текущее значение, вызовите метод shift():

data['rolling_mean'] = data['PJME_MW'].shift()# < напишите код здесь > 
import pandas as pd
import numpy as np

data = pd.read_csv('https://code.s3.yandex.net/datasets/energy_consumption.csv', index_col=[0], parse_dates=[0])
data.sort_index(inplace=True)
data = data.resample('1D').sum()

def make_features(data, max_lag, rolling_mean_size):
    data['year'] = data.index.year
    data['month'] = data.index.month
    data['day'] = data.index.day
    data['dayofweek'] = data.index.dayofweek
    
    for lag in range(1, max_lag + 1):
        data['lag_{}'.format(lag)] = data['PJME_MW'].shift(lag)
    
    data['rolling_mean'] = data['PJME_MW'].shift().rolling(rolling_mean_size).mean()
    return data
 
make_features(data, 4, 4)
print(data.head())

Результат

             PJME_MW  year  month  day  dayofweek     lag_1     lag_2  \
Datetime                                                                
2002-01-01  714857.0  2002      1    1          1       NaN       NaN   
2002-01-02  822277.0  2002      1    2          2  714857.0       NaN   
2002-01-03  828285.0  2002      1    3          3  822277.0  714857.0   
2002-01-04  809171.0  2002      1    4          4  828285.0  822277.0   
2002-01-05  729723.0  2002      1    5          5  809171.0  828285.0   

               lag_3     lag_4  rolling_mean  
Datetime                                      
2002-01-01       NaN       NaN           NaN  
2002-01-02       NaN       NaN           NaN  
2002-01-03       NaN       NaN           NaN  
2002-01-04  714857.0       NaN           NaN  
2002-01-05  822277.0  714857.0      793647.5  
Скользящее среднее получили — верный признак того, что можно переходить к обучению модели!