Первая попытка
Мой df выглядит примерно так:
Код: Выделить всё
Date X Y
2000-01-01 x1 y1
2000-02-01 x2 y2
2000-03-01 x3 y3
2000-04-01 x4 y4
2000-05-01 x5 y5
2000-06-01 x6 y6
Код: Выделить всё
Date X Y
2000-01-01 NaN NaN
2000-02-01 NaN y1
2000-03-01 x1 y2
2000-04-01 x2 y3
2000-05-01 x3 y4
2000-06-01 x4 y5
Код: Выделить всё
# max_lag is a dictionary with lags for each feature / column in my df
for key in max_lag.keys():
df[key].shift(periods=max_lag[key], freq='ME')
Вторая попытка
Затем я попытался назначить df:
Код: Выделить всё
for key in max_lag.keys():
df[key] = df[key].shift(periods=max_lag[key], freq='ME')
Код: Выделить всё
ValueError: cannot reindex on an axis with duplicate labels
На этот раз я создал новый df для хранения просеянных значений:
Код: Выделить всё
for key in max_lag.keys():
df_shift[key] = df[key].shift(periods=max_lag[key], freq='ME')
Код: Выделить всё
TypeError: 'type' object does not support item assignment
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-as-index