Use date_range
for new DatetimeIndex
by maximal index
with next 5 minutes
and then use DataFrame.append
with DataFrame
constructor:
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
If need specify value:
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