Я точно не знаю, правильно ли я вас понял - главным образом потому, что вы не публикуете пример своих данных.
Однако, вот mcve:
# dtrg = pd.date_range('01.Jan.1999 21:17', '02.Jan.1999 04:23', freq='10min')
# df = pd.DataFrame({'distance': np.random.randint(1, 5, len(dtrg)) * 10}, index=dtrg)
# df.head()
# distance
# 1999-01-01 21:17:00 30
# 1999-01-01 21:27:00 40
# 1999-01-01 21:37:00 10
# 1999-01-01 21:47:00 30
# 1999-01-01 21:57:00 30
с этими данными вы можете просто сгруппировать по индексу datetime в 2H-срезах и суммировать расстояние:
df.groupby(pd.Grouper(freq='2H')).sum()
distance
1999-01-01 20:00:00 140
1999-01-01 22:00:00 340
1999-01-02 00:00:00 370
1999-01-02 02:00:00 300
1999-01-02 04:00:00 40
... и если ваш фрейм данных имеет не индекс даты и времени, а дату и время как отдельные строковые значения, вы должны преобразовать их в дату и время и установить это как индекс раньше:
пример структуры данных:
date time distance
0 01.01.1999 09:00 10
преобразование столбцов даты и времени в индекс даты и времени:
df.set_index(pd.to_datetime(df.date.str.cat(df.time, sep=' '))).distance
date
1999-01-01 09:00:00 10
Name: distance, dtype: int64