【发布时间】:2016-11-30 04:57:21
【问题描述】:
我有一个数组 A,我试图将它放入 10 个容器中。这是我所做的。
A = range(1,94)
hist = np.histogram(A, bins=10)
np.digitize(A, hist[1])
但是输出有 11 个 bin,而不是 10 个,最后一个值 (93) 放在 bin 11 中,而它本应该在 bin 10 中。我可以通过 hack 修复它,但最优雅的做法是什么这?如何告诉 digitize hist[1] 中的最后一个 bin 包含在右侧 - [ ] 而不是 [ )?
【问题讨论】:
-
np.histogram的输出实际上有10个bin;计数是
[10, 9, 9, 9, 9, 10, 9, 9, 9, 10]。也就是说,histogram方法将最后一个 bin 的右边界视为包含。digitize没有;所以它与histogram准备的bin边缘不太兼容。 -
谢谢 zaq - 有没有办法获取元素属于哪个 bin?虽然使用上面的排序列表很容易,但当我有一个未排序的列表时,这个问题就变得很有挑战性了。