Agrupar mensajes por intervalos de tiempo

Actualmente estoy tratando de agrupar los mensajes que se envían por intervalos de 1 segundo. Actualmente estoy calculando la latencia de tiempo con esto:

def time_deltas(infile): 
entries = (line.split() for line in open(INFILE, "r")) 
ts = {}
for e in entries: 
    if " ".join(e[2:5]) == "T out: [O]": 
        ts[e[8]] = e[0]    
    elif " ".join(e[2:5]) == "T in: [A]":    
        in_ts, ref_id = e[0], e[7] 
        out_ts = ts.pop(ref_id, None) 
        yield (float(out_ts),ref_id[1:-1],(float(in_ts)*1000 - float(out_ts)*1000))

INFILE = 'C:/Users/klee/Documents/test.txt'
import csv 

with open('test.csv', 'w') as f: 
csv.writer(f).writerows(time_deltas(INFILE)) 

SIN EMBARGO Quiero calcular el número de mensajes "T en: [A]" por segundo que se envían, y he estado tratando de trabajar con esto para hacerlo:

import datetime
import bisect
import collections

data=[ (datetime.datetime(2010, 2, 26, 12, 8, 17), 5594813L), 
  (datetime.datetime(2010, 2, 26, 12, 7, 31), 5594810L), 
  (datetime.datetime(2010, 2, 26, 12, 6, 4) , 5594807L),
]
interval=datetime.timedelta(seconds=50)
start=datetime.datetime(2010, 2, 26, 12, 6, 4)
grid=[start+n*interval for n in range(10)]
bins=collections.defaultdict(list)
for date,num in data:
idx=bisect.bisect(grid,date)
   bins[idx].append(num)
for idx,nums in bins.iteritems():
print('{0} --- {1}'.format(grid[idx],len(nums)))

que se puede encontrar aquí:Python: agrupe los resultados por intervalos de tiempo

(Me doy cuenta de que las unidades estarían apagadas para lo que quiero, pero solo estoy investigando la idea general ...)

Hasta ahora no he tenido éxito y agradecería cualquier ayuda.

Además, los datos aparecen como:

082438.577652 - T in: [A] accepted. ordID [F25Q6] timestamp [082438.575880] RefNumber [6018786] State [L]

Respuestas a la pregunta(4)

Su respuesta a la pregunta