Используйте date_range
для нового DatetimeIndex
по максимальному index
со следующим 5 minutes
, а затем используйте DataFrame.append
с конструктором DataFrame
:
r = pd.date_range(df.index.max() + pd.Timedelta(5, 'Min'), freq='5Min', periods=10)
df = df.append(pd.DataFrame(index=r), sort=True)
print (df)
value
2020-03-04 16:00:00 5.0
2020-03-04 16:05:00 8.0
2020-03-04 16:10:00 4.0
2020-03-04 16:15:00 1.0
2020-03-04 16:20:00 NaN
2020-03-04 16:25:00 NaN
2020-03-04 16:30:00 NaN
2020-03-04 16:35:00 NaN
2020-03-04 16:40:00 NaN
2020-03-04 16:45:00 NaN
2020-03-04 16:50:00 NaN
2020-03-04 16:55:00 NaN
2020-03-04 17:00:00 NaN
2020-03-04 17:05:00 NaN
Если нужно указать значение:
df = df.append(pd.DataFrame({'value': 0}, index=r), sort=True)
print (df)
value
2020-03-04 16:00:00 5
2020-03-04 16:05:00 8
2020-03-04 16:10:00 4
2020-03-04 16:15:00 1
2020-03-04 16:20:00 0
2020-03-04 16:25:00 0
2020-03-04 16:30:00 0
2020-03-04 16:35:00 0
2020-03-04 16:40:00 0
2020-03-04 16:45:00 0
2020-03-04 16:50:00 0
2020-03-04 16:55:00 0
2020-03-04 17:00:00 0
2020-03-04 17:05:00 0