Вот еще одно простое решение с использованием метода np.histogram()
.
myarray = np.random.random(100)
results, edges = np.histogram(myarray, normed=True)
binWidth = edges[1] - edges[0]
plt.bar(edges[:-1], results*binWidth, binWidth)
Вы действительно можете проверить, что суммарные суммы до 1 с помощью:
> print sum(results*binWidth)
1.0