Я думаю, вам нужно resample
с mean
:
print (df.index)
DatetimeIndex(['2019-02-10 00:00:00', '2019-02-10 00:00:19',
'2019-02-10 00:45:20', '2019-02-10 01:01:20',
'2019-02-10 01:30:18'],
dtype='datetime64[ns]', name='Date', freq=None)
df = df.resample('15Min').mean()
print (df)
Value
Date
2019-02-10 00:00:00 9657.5
2019-02-10 00:15:00 NaN
2019-02-10 00:30:00 NaN
2019-02-10 00:45:00 9659.0
2019-02-10 01:00:00 9649.0
2019-02-10 01:15:00 NaN
2019-02-10 01:30:00 9712.0
Для пропущенных интервалов получите значения misisng, поэтому при необходимости удалите их, используя dropna
:
df = df.resample('15Min').mean().dropna(how='all')
print (df)
Value
Date
2019-02-10 00:00:00 9657.5
2019-02-10 00:45:00 9659.0
2019-02-10 01:00:00 9649.0
2019-02-10 01:30:00 9712.0