在python numpy中匹配不同形状的数组

时间:2014-10-19 09:13:25

标签: python arrays numpy shape matching

我有一个很大的2d双向数组(仅限0和1)和一个小的(3x3)。

我想看看大数组与小数组匹配的位置,即ij

big_array[i-1:i+2, j-1:j+2] == small_array

可能有多个(i,j)满足条件。如何在不编写双嵌套ij循环的情况下执行此操作?

1 个答案:

答案 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)