У меня есть следующий фрейм данных:
>>> a = pd.DataFrame({'values':[random.randint(-10,10) for i in range(10)]})
>>> a
values
0 -3
1 -8
2 -2
3 3
4 8
5 6
6 -5
7 0
8 8
9 -4
И я хотел бы переиндексировать его, чтобы индекс полностью соответствовал дате.Я делаю это с помощью следующего кода:
>>> times = [datetime.datetime(2018,1,2,12,40,0) + datetime.timedelta(seconds=i) for i in range(10)]
>>> times
[datetime.datetime(2018, 1, 2, 12, 40), datetime.datetime(2018, 1, 2, 12, 40, 1), datetime.datetime(2018, 1, 2, 12, 40, 2), datetime.datetime(2018, 1, 2, 12, 40, 3), datetime.datetime(2018, 1, 2, 12, 40, 4), datetime.datetime(2018, 1, 2, 12, 40, 5), datetime.datetime(2018, 1, 2, 12, 40, 6), datetime.datetime(2018, 1, 2, 12, 40, 7), datetime.datetime(2018, 1, 2, 12, 40, 8), datetime.datetime(2018, 1, 2, 12, 40, 9)]
>>> a.reindex(times)
values
2018-01-02 12:40:00 NaN
2018-01-02 12:40:01 NaN
2018-01-02 12:40:02 NaN
2018-01-02 12:40:03 NaN
2018-01-02 12:40:04 NaN
2018-01-02 12:40:05 NaN
2018-01-02 12:40:06 NaN
2018-01-02 12:40:07 NaN
2018-01-02 12:40:08 NaN
2018-01-02 12:40:09 NaN
Как видите, вместо этого он удаляет только что полученные значения и просто помещает NaN на их место.Как бы я переиндексировал этот фрейм данных, чтобы он выглядел примерно так:
values
2018-01-02 12:40:00 -3
2018-01-02 12:40:01 -8
2018-01-02 12:40:02 -2
2018-01-02 12:40:03 3
2018-01-02 12:40:04 8
2018-01-02 12:40:05 6
2018-01-02 12:40:06 -5
2018-01-02 12:40:07 0
2018-01-02 12:40:08 8
2018-01-02 12:40:09 -4