def get_histogram(data,n=20,log=False):
""" Groups data in N steps """
import math
mn = logfloor(min(data))
mx = logroof(max(data))
print('data=[%e:%e],ranges=[%e:%e]'%(min(data),max(data),mn,mx))
if log: mn,mx = log10(mn),log10(mx)
step = float(mx-mn)/n
print('mn,mx,step = %s, %s, %s'%(mn,mx,step))
ranges = []
for i in range(n):
r0 = mn+i*step
r1 = mn+(i+1)*step
if log: r0,r1 = 10**r0,10**r1
ranges.append((r0,len([d for d in data if r0<=d<r1])))
return ranges
评论列表
文章目录