Заполнение пропущенных дат путем вменения предыдущих дат в Python - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть временной ряд, который я хочу отложить и прогнозировать для будущих данных на год вперед, который выглядит следующим образом:

Date           Energy         Pred Energy      Lag Error        
.
2017-09-01       9                 8.4
2017-10-01       10                9                
2017-11-01       11                10
2017-12-01       12                11.5
2018-01-01        1                1.3
NaT                                           (pred-true)
NaT
NaT
NaT
.
.

Все, что я хочу сделать, - это вменять даты в записи NaT для продолжения с 2018-01-01 по 2019-01-01 (просто заполните их, как будто мы в перетаскивании в Excel), потому что есть достаточно позиций NaT для заполните до этой точки.

Я пробовал model['Date'].fillna() различными способами и либо просто повторял ту же предыдущую дату, либо отбрасывал вещи, которые я не хочу отбрасывать.

Есть ли способ просто заполнить эти NaT с шагом в 1 месяц, как предыдущие данные?

1 Ответ

0 голосов
/ 07 ноября 2018

Сделайте df и установите индекс (есть лучшие способы установить индекс):

"""
Date,Energy,Pred Energy,Lag Error        
2017-09-01,9,8.4
2017-10-01,10,9                
2017-11-01,11,10
2017-12-01,12,11.5
2018-01-01,1,1.3
"""
import pandas as pd

df = pd.read_clipboard(sep=",", parse_dates=True)
df.set_index(pd.DatetimeIndex(df['Date']), inplace=True)
df.drop("Date", axis=1, inplace=True)
df

Переиндексация на новый date_range:

idx = pd.date_range(start='2017-09-01', end='2019-01-01', freq='MS')
df = df.reindex(idx)

Выход:

            Energy  Pred Energy  Lag Error        
2017-09-01     9.0          8.4                NaN
2017-10-01    10.0          9.0                NaN
2017-11-01    11.0         10.0                NaN
2017-12-01    12.0         11.5                NaN
2018-01-01     1.0          1.3                NaN
2018-02-01     NaN          NaN                NaN
2018-03-01     NaN          NaN                NaN
2018-04-01     NaN          NaN                NaN
2018-05-01     NaN          NaN                NaN
2018-06-01     NaN          NaN                NaN
2018-07-01     NaN          NaN                NaN
2018-08-01     NaN          NaN                NaN
2018-09-01     NaN          NaN                NaN
2018-10-01     NaN          NaN                NaN
2018-11-01     NaN          NaN                NaN
2018-12-01     NaN          NaN                NaN
2019-01-01     NaN          NaN                NaN

Помощь от: Набор панд DatetimeIndex

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...