假设我像这样制作一个2d数组:
>>> A=np.arange(16).reshape((4,4))
>>> A
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
Run Code Online (Sandbox Code Playgroud)
我希望能够在任何给定元素周围选择一个3x3窗口,以便窗口环绕边界我将如何做到这一点?我知道如果窗口的边界不与原始数组的边界重叠,我可以这样做:
>>> A[1:4,0:3]
array([[ 4, 5, 6],
[ 8, 9, 10],
[12, 13, 14]])
Run Code Online (Sandbox Code Playgroud)
但是如果我使用像A[i-1:i+2,j-1:j+2]它这样的表达式,只返回i = 0的空数组,例如j = 0.