如何根据索引公式“雕刻”或掩盖2D numpy数组?我不关心元素值,只关心在数组中的位置。
例如,给定一个mxm数组,如何提取所有地址符合以下条件的元素
for i in range(0,m):
for j in range(0,m):
if j-i-k>=0:
A[i,j] = 1
elif j-p-k>=0:
A[i,j] = 1
elif i-k>=0:
A[i,j] = 1
else:
A[i,j] = 0
j=j+1
i=i+1
其中,
k和p是任意的围栏
假设
k<m
p<m
这最终看起来像是一个对角线切片 + 一个水平切片 + 一个垂直切片。是否可以在不使用上述for循环的情况下完成?