我编写了一个小脚本,通过知道它们的行和列坐标将值分配给 numpy 数组:
gridarray = np.zeros([3,3])
gridarray_counts = np.zeros([3,3])
cols = np.random.random_integers(0,2,15)
rows = np.random.random_integers(0,2,15)
data = np.random.random_integers(0,9,15)
for nn in np.arange(len(data)):
gridarray[rows[nn],cols[nn]] += data[nn]
gridarray_counts[rows[nn],cols[nn]] += 1
实际上,然后我知道在同一个网格单元中存储了多少值以及它们的总和是多少。但是,在长度为 100000+ 的数组上执行此操作会变得非常慢。有没有不使用for循环的另一种方法?
类似的方法可能吗?我知道这还不行。
gridarray[rows,cols] += data
gridarray_counts[rows,cols] += 1