您需要确保垃圾箱的宽度均为1。即:
np.all(np.diff(base)==1)
为此,您必须手动指定垃圾箱:
bins = np.arange(np.floor(nearest.min()),np.ceil(nearest.max()))
values, base = np.histogram(nearest, bins=bins, density=1)
你会得到:
In [18]: np.all(np.diff(base)==1)
Out[18]: True
In [19]: np.sum(values)
Out[19]: 0.99999999999999989