MCPcopy Index your code
hub / github.com/clips/pattern / histogram

Function histogram

pattern/metrics.py:574–592  ·  view source on GitHub ↗

Returns a dictionary with k items: {(start, stop): [values], ...}, with equal (start, stop) intervals between min(list) => max(list).

(list, k=10, range=None)

Source from the content-addressed store, hash-verified

572stdev = standard_deviation
573
574def histogram(list, k=10, range=None):
575 """ Returns a dictionary with k items: {(start, stop): [values], ...},
576 with equal (start, stop) intervals between min(list) => max(list).
577 """
578 # To loop through the intervals in sorted order, use:
579 # for (i,j), values in sorted(histogram(list).items()):
580 # m = i + (j-i)/2 # midpoint
581 # print i, j, m, values
582 if range is None:
583 range = (min(list), max(list))
584 k = max(int(k), 1)
585 w = float(range[1] - range[0] + 0.000001) / k # interval (bin width)
586 h = [[] for i in xrange(k)]
587 for x in list:
588 i = int(floor((x-range[0]) / w))
589 if 0 <= i < len(h):
590 #print x, i, "(%.2f, %.2f)" % (range[0]+w*i, range[0]+w+w*i)
591 h[i].append(x)
592 return dict(((range[0]+w*i, range[0]+w+w*i), v) for i, v in enumerate(h))
593
594#--- MOMENT ----------------------------------------------------------------------------------------
595

Callers

nothing calls this directly

Calls 2

lenFunction · 0.85
appendMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…