Это должно разделить временную метку на 3 часа и вывести сумму за этот период времени.Документы на pd.Grouper
import pandas as pd
data = [{'name': 'A', 'm_timestamp': '2019-01-27 00:30:00', 'value': 10}, {'name': 'A', 'm_timestamp': '2019-01-27 00:45:00', 'value': 20}, {'name': 'A', 'm_timestamp': '2019-01-27 01:00:00', 'value': 30}, {'name': 'A', 'm_timestamp': '2019-01-27 01:15:00', 'value': 40}, {'name': 'A', 'm_timestamp': '2019-01-27 04:15:00', 'value': 100}, {'name': 'A', 'm_timestamp': '2019-01-27 19:15:00', 'value': 12}]
df = pd.DataFrame(data)
df['m_timestamp'] = pd.to_datetime(df['m_timestamp']) # Makes sure your timestamp is in datetime format
df.groupby(pd.Grouper(key='m_timestamp', freq='180Min')).sum()
Вывод:
m_timestamp value
2019-01-27 00:00:00 100
2019-01-27 03:00:00 100
2019-01-27 06:00:00 0
2019-01-27 09:00:00 0
2019-01-27 12:00:00 0
2019-01-27 15:00:00 0
2019-01-27 18:00:00 12