Например ведется лог температуры в такую таблицу
table = Table('data', metadata,
              Column('id', Integer, primary_key=True, index=True),
              Column('created', TIMESTAMP, index=True),
              Column('temperature', Float))
Как из нее извлечь среднюю температуру блоками по времени, вот так:
От        До   Средняя температура
11.00   11.10   15.3
11.10   11.20   13.1
11.20   11.30   13.5
То что нужно использовать group_by() понятно, но как сделать разбиение по группах не могу понять.
Вот этим кодом (он не рабочей) хочу создать поле t_from которое будет округлять данные кратные периоду группировки (600 секунд или 10 минут).
time_step = 600
period_from = ...
perion_to = ...
 t_step = (datetime.datetime.min + datetime.timedelta(seconds=time_step)).time()  # convert seconds <type 'int'> to <type 'datetime.time'>
t_from = (((table.c.created - period_from)/t_step)*t_step + table.c.created).label('t_from')
table.select([t_from, table.c.temperature]).where(created.c.created.between(period_from, perion_to))
Как правильно сделать? Может кто подсказку даст?