Как сохранить Dataframe после смещения его столбцов, используя дату в качестве индексаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как сохранить Dataframe после смещения его столбцов, используя дату в качестве индекса

Сообщение Anonymous »

Когда я использую .shift() из pandas для столбцов из df с индексацией даты, я могу использовать его, например, с .corr(), но я не могу обновить с помощью этой функции свой старый df или создать новый >
Первая попытка
Мой 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
Сначала я попробовал обновить свой старый df:

Код: Выделить всё

# 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 после того, как он не обновляется значениями сдвига.
Вторая попытка
Затем я попытался назначить 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»