gpt4 book ai didi

python - Numpy:查找至少有一个零相邻的元素的最有效方法 ("edges")

转载 作者:行者123 更新时间:2023-12-04 07:23:53 24 4
gpt4 key购买 nike

假设我有一个像这样的 numpy 数组:

np.array([[0, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[1, 1, 1, 0, 0],
[2, 2, 2, 1, 0],
[3, 3, 3, 2, 1]])
如何获得与它相邻的零正交值的索引?
通过正交我的意思是它不会查看对角相邻的项目。
对于示例,输出应为:
np.array([[1, 1], [2, 0], [2, 2], [3, 3], [4, 4]])

最佳答案

明显的方法有什么问题吗?

mask = arr == 0
out = np.zeros(mask.shape, dtype='bool')

out[:-1] = out[:-1] | mask[1:]
out[1:] = out[1:] | mask[:-1]
out[:,:-1] = out[:,:-1] | mask[:,1:]
out[:,1:] = out[:,1:] | mask[:,:-1]

np.argwhere(out & (arr!=0))

关于python - Numpy:查找至少有一个零相邻的元素的最有效方法 ("edges"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68322118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com