【发布时间】:2015-03-21 03:26:48
【问题描述】:
我有以下问题:我有带有重复索引的索引数组,并且想向这样的数组添加值:
grid_array[xidx[:],yidx[:],zidx[:]] += data[:]
但是,由于我有重复的索引,这不起作用,因为 numpy 将创建一个临时数组,导致重复索引的数据被分配多次而不是相互添加(请参阅http://docs.scipy.org/doc/numpy/user/basics.indexing.html) .
类似的for循环
for i in range(0,n):
grid_array[xidx[i],yidx[i],zidx[i]] += data[i]
会很慢。有没有办法我仍然可以使用 numpy 的矢量化?还是有其他方法可以更快地完成这项任务?
感谢您的帮助
【问题讨论】:
-
你能举个例子来提问吗?
-
重复是指某些索引对可以重复吗?所以你可能会得到
grid_array(1,3,4) + data[3]+data[4}+data[10]? -
没错,有些索引对会重复,就会出现你描述的情况。