Guest User

Untitled

a guest
Jun 24th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.77 KB | None | 0 0
  1. def bucketer(buckets, items, fieldname='count'):
  2.     #divide into buckets
  3.     bucketsize = max(items) / float(buckets)
  4.     bucketed = {}
  5.     for i in range(0,buckets + 1):
  6.         size = str(bucketsize * i)
  7.         bucketed[size] = {}
  8.         bucketed[size][fieldname] = 0
  9.         bucketed[size]['textname']  = "%s - %s"%(round((bucketsize * i), 1), round((bucketsize * (i + 1)),1))
  10.         bucketed[size]['name']  = "%s"%(bucketsize * i)
  11.  
  12.     for a in items:
  13.         for i in range(0,buckets + 1):
  14.             if a <= bucketsize * i:
  15.                 bucketed[str(bucketsize * i)][fieldname] += 1
  16.  
  17.                 break
  18.     data = []
  19.     for k,v in bucketed.items():
  20.         data.append(v)
  21.     data = sorted(data, key=lambda k: float(k['name']))
  22.  
  23.     return data
Add Comment
Please, Sign In to add comment