是否有任何巧妙的方法来检查 numpy 数组是否被零包围。
例子:
[[0,0,0,0],
[0,1,2,0],
[0,0,0,0]]
我知道我可以通过元素明智地迭代它来找出答案,但我想知道我们是否可以在这里使用任何好的技巧。 numpy 数组是 float ,n x m 任意大小。
欢迎提出任何想法。
最佳答案
您可以使用 numpy.any()
测试 numpy 数组中是否有任何非零元素。
现在,要测试二维数组是否被零包围,您可以获取第一列和最后一列以及第一行和最后一行,并测试其中是否包含非零数字。
def zero_surrounded(array):
return not (array[0,:].any() or array[-1,:].any() or array[:,0].any() or array[:,-1].any())
关于python - 如何检查 numpy 2d array "surrounded"by zeros,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940199/