Advertisement
Guest User

Untitled

a guest
Apr 19th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. import datetime
  2.  
  3. from itertools import groupby
  4. from operator import itemgetter
  5.  
  6. data = [
  7.     [datetime.datetime(2013, 4, 10, 12, 0), 23.4],
  8.     [datetime.datetime(2013, 4, 10, 12, 0), 25.81],
  9.     [datetime.datetime(2013, 4, 10, 12, 0), 25.08],
  10.     [datetime.datetime(2013, 4, 10, 13, 0), 18.49],
  11.     [datetime.datetime(2013, 4, 10, 14, 0), 20.74],
  12.     [datetime.datetime(2013, 4, 10, 14, 0), 25.86]
  13. ]
  14.  
  15. def ipromedio(i):
  16.     sumar_y_contar = lambda (c1, t1), (c2, t2): (c2, t1+t2)
  17.     n, total = reduce(sumar_y_contar, enumerate(i, 1))
  18.     return float(total) / n
  19.  
  20. def grupos_promediados(d):
  21.     grupos = groupby(d, itemgetter(0))
  22.     for fecha, elems in grupos:
  23.         yield [fecha, ipromedio(e[1] for e in elems)]
  24.  
  25. print list(grupos_promediados(data))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement