【发布时间】:2021-04-19 09:59:40
【问题描述】:
我有一个包含 0 和 1 的 10x10 数组。
我想:
-
找到每个值为 1 的单元格的位置。
-
用 1 替换所有邻居。neighbors= 任何单元格到 n=1 距离(也是对角线)。 示例:
array([[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 1, 1]])
输出:
array([[1, 1, 1, 1, 0],
[1, 1, 1, 1, 0],
[1, 1, 1, 1, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])
我正在尝试查找索引,但它不起作用:
a=np.where(a==1)+1
从其他帖子中,我也尝试使用此功能获取邻居:
def n_closest(x,n,d=1):
return x[n[0]-d:n[0]+d+1,n[1]-d:n[1]+d+1]
但这不适用于边缘
谢谢
【问题讨论】: