Как добавить пропущенные индексы даты?
Есть фрейм, индексами которого являются даты:
Id Close
2021-09-16 148.789993
2021-09-17 146.059998
2021-09-20 142.940002
Как дополнить его строками с индексами с интервалом каждый день с NaN значениями?
Id Close
2021-09-16 148.789993
2021-09-17 146.059998
2021-09-18 NaN
2021-09-19 NaN
2021-09-20 142.940002
Доп. вопрос: Только начинаю заниматься временными рядами и, как можно заметить, столкнулся с проблемой в пробелах в данных. Я собираюсь использовать метод .interpolate(method='linear'), чтобы восстановить пробелы. Возможно такой способ предобработки данных на практике неверный для этой задачи и вы могли бы посоветовать другой?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь методом DataFrame.reindex():
d = (d
.set_index("Id")
.reindex(pd.date_range(d["Id"].min(), d["Id"].max()))
.reset_index())
результат:
In [25]: d
Out[25]:
index Close
0 2021-09-16 148.789993
1 2021-09-17 146.059998
2 2021-09-18 NaN
3 2021-09-19 NaN
4 2021-09-20 142.940002