How to get data in a histogram bin How to get data in a histogram bin numpy numpy

How to get data in a histogram bin


digitize, from core NumPy, will give you the index of the bin to which each value in your histogram belongs:

import numpy as NPA = NP.random.randint(0, 10, 100)bins = NP.array([0., 20., 40., 60., 80., 100.])# d is an index array holding the bin id for each point in Ad = NP.digitize(A, bins)     


how about something like:

data = numpy.array([0, 0.5, 1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 3])hist, edges = numpy.histogram(data, bins=3)for l, r in zip(edges[:-1], edges[1:]):   print(data[(data > l) & (data < r)]) 

Out:

[ 0.5][ 1.5  1.5  1.5][ 2.5  2.5  2.5]

with a bit of code to handle the edge cases.