У меня есть временной ряд, сохраненный в CSV, и я выгружаю его в DataFrame, и он выглядит следующим образом
time station_id station_name value
0 2019-05-08 00:10:00+00:00 9018823 XXXXXXXX 11
1 2019-05-08 00:20:00+00:00 9018823 XXXXXXXX 10
2 2019-05-08 00:30:00+00:00 9018823 XXXXXXXX 9
3 2019-05-08 00:40:00+00:00 9018823 XXXXXXXX 9
4 2019-05-08 00:50:00+00:00 9018823 XXXXXXXX 9
Я использую Pandasto, чтобы заполнить пропущенные в течение дня дыры, я хочу делать это только изо дня в день с 2019-05-08 00:00:00+00:00
до 2019-05-08 23:50:00+00:00
. Я использовал следующее, чтобы заполнить отверстия, но я не могу заполнить недостающее в 00:00
.
data = data.set_index(keys=['time']).resample('10min', fill_method='ffill')
Это то, что я могу сделать с пандами?
UPDATE
Попытка, как предложено с reindex
Я получаю полный промежуток времени, но результирующий DataFrame имеет значения NaN в значениях.
date_str = data['time'].iloc[0].strftime('%Y-%m-%d')
time_range = pd.date_range(date_str, date_str + ' 23:59:00', freq='10T')
data = (data.set_index(keys=['time'])
.resample('10min').ffill()
.reindex(time_range).bfill())
station_id station_name value
2019-05-08 00:00:00 NaN NaN NaN
2019-05-08 00:10:00 NaN NaN NaN
2019-05-08 00:20:00 NaN NaN NaN
2019-05-08 00:30:00 NaN NaN NaN
2019-05-08 00:40:00 NaN NaN NaN
2019-05-08 00:50:00 NaN NaN NaN
2019-05-08 01:00:00 NaN NaN NaN
2019-05-08 01:10:00 NaN NaN NaN
2019-05-08 01:20:00 NaN NaN NaN
2019-05-08 01:30:00 NaN NaN NaN
2019-05-08 01:40:00 NaN NaN NaN
2019-05-08 01:50:00 NaN NaN NaN