У меня есть фрейм данных с 1-часовым периодическим столбцом DateTime ts_start
и смещением на один столбец ts_end
:
import pandas as pd
from datetime import datetime, timedelta
now = datetime.now()
d = pd.date_range(now, now + timedelta(hours=7), freq='h')
np.random.seed(seed=1111)
df = pd.DataFrame({'ts_start': d, 'col2': range(len(d))})
df = df.assign(ts_end=df['ts_start'].shift(-1))
print(df)
ts_start col2 ts_end
0 2019-05-17 16:51:23.630583 0 2019-05-17 17:51:23.630583
1 2019-05-17 17:51:23.630583 1 2019-05-17 18:51:23.630583
2 2019-05-17 18:51:23.630583 2 2019-05-17 19:51:23.630583
3 2019-05-17 19:51:23.630583 3 2019-05-17 20:51:23.630583
4 2019-05-17 20:51:23.630583 4 2019-05-17 21:51:23.630583
5 2019-05-17 21:51:23.630583 5 2019-05-17 22:51:23.630583
6 2019-05-17 22:51:23.630583 6 2019-05-17 23:51:23.630583
7 2019-05-17 23:51:23.630583 7 NaT
, и я хотел бы заполнить NaT следующимзначение часа, т.е. 2019-05-18 00:51:23.630583
interpolate()
или interpolate(method='time')
ничего не делать,
shift(-1, freq='h')
создает:
NotImplementedError: не поддерживается для типа RangeIndex
Я почти уверен, что должно быть что-то простое, чтобы расширить диапазон дат и времени.