Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- from itertools import groupby
- from operator import itemgetter
- data = [
- [datetime.datetime(2013, 4, 10, 12, 0), 23.4],
- [datetime.datetime(2013, 4, 10, 12, 0), 25.81],
- [datetime.datetime(2013, 4, 10, 12, 0), 25.08],
- [datetime.datetime(2013, 4, 10, 13, 0), 18.49],
- [datetime.datetime(2013, 4, 10, 14, 0), 20.74],
- [datetime.datetime(2013, 4, 10, 14, 0), 25.86]
- ]
- def ipromedio(i):
- sumar_y_contar = lambda (c1, t1), (c2, t2): (c2, t1+t2)
- n, total = reduce(sumar_y_contar, enumerate(i, 1))
- return float(total) / n
- def grupos_promediados(d):
- grupos = groupby(d, itemgetter(0))
- for fecha, elems in grupos:
- yield [fecha, ipromedio(e[1] for e in elems)]
- print list(grupos_promediados(data))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement