我有一个2D值数组和一个3D对应值数组。 2D数组中数字的值是3D数组中第一个维度的索引,而2D数组中值的索引与后两个维度中3D数组中的索引相同。
此外,如果2D数组中的值为0,则不执行查找,并且该值应保持为0。
我编写了一个简单的脚本,其中包含两个循环,依次遍历行,然后遍历元素,如下所示:
c = np.array(np.random.rand(424,512)*10,dtype=np.int32)
mean_error_map = np.random.rand(42,424,512)
mean_map = np.zeros(shape=(c.shape[0],c.shape[1]))
for x,element_row in enumerate(c):
if element_row.sum() == 0:
continue
for y,element in enumerate(element_row):
if element == 0:
continue
mean_map[x,y] = mean_error_map[int(element),x,y]
我想知道是否有更多的pythonic / numpy方法来实现相同的行为,这可能会导致速度加快。