python:生成直方图

时间:2010-08-03 18:51:01

标签: python

这样:

 numpy.histogram([1,3,2,3,1,1,1,1,2,3,2,5,6,6],bins=numpy.arange(0,7,1))

的产率:

(array([0, 5, 3, 3, 0, 3]), array([0, 1, 2, 3, 4, 5, 6]))

为什么它算三个6?只有2个!

4 个答案:

答案 0 :(得分:4)

因为分档定义了bin edge ,所以需要再添加一个bin

numpy.histogram([1,3,2,3,1,1,1,1,2,3,2,5,6,6],bins=numpy.arange(0,8,1))

答案 1 :(得分:2)

最后一个垃圾箱里有一个5和两个6。引用doc“所有但最后一个(最右边)的箱子是半开的”,所以最后一个箱包括2个6。

答案 2 :(得分:1)

看起来它将5和6组合在一起 - 也许最后一个箱子是5到6,包括在内?


编辑:看docs,我猜测6是最右边的边缘,所以五到六之间的值都在最后的边框中。

答案 3 :(得分:1)

我认为这与第一个和最后一个下溢和溢出的二进制文件的语义有关。您的总桶数是正确的。