【发布时间】:2016-07-03 23:37:44
【问题描述】:
我是 numpy 的新手,我有一个 2D 对象数组,我需要将它们分箱到一个较小的矩阵中,然后计算每个箱中的对象数量以制作热图。我按照答案on this thread 创建了 bin 并计算了一个简单数组的计数,但我不确定如何将其扩展到二维。到目前为止,这是我所拥有的:
data_matrix = numpy.ndarray((500,500),dtype=float)
# fill array with values.
bins = numpy.linspace(0,50,50)
digitized = numpy.digitize(data_matrix, bins)
binned_data = numpy.ndarray((50,50))
for i in range(0,len(bins)):
for j in range(0,len(bins)):
k = len(data_matrix[digitized == i:digitized == j]) # <-not does not work
binned_data[i:j] = k
附:数组上的[digitized == i] 表示法将返回二进制值数组。我在任何地方都找不到有关此表示法的文档。链接将不胜感激。
【问题讨论】:
-
你能举一个简单的例子吗? 3*3 数组或类似的?我不明白你的目的。我不确定,也许你想看看
np.histogram2d? -
看看这个link