我有一个很大的2d双向数组(仅限0和1)和一个小的(3x3)。
我想看看大数组与小数组匹配的位置,即i
,j
big_array[i-1:i+2, j-1:j+2] == small_array
可能有多个(i,j)
满足条件。如何在不编写双嵌套i
,j
循环的情况下执行此操作?
答案 0 :(得分:2)
我希望,这段代码是您所需要的:
import numpy as np
big_array = np.array(...)
small_array = np.array(...)
for (i, j), _ in np.ndenumerate(big_array[:-2, :-2]):
if (big_array[i:i+3, j:j+3] == small_array).all():
print (i, j)