python - 如何检查 numpy 2d array "surrounded"by zeros

标签 python arrays numpy

是否有任何巧妙的方法来检查 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/

相关文章:

arrays - Excel VBA - 将公式结果分配给数组

python - 使用 numpy 读取科学记数法 csv 文件

python - 尝试编译 Yolo 时,出现找不到包错误

c# - 如何将 Array.Sort 应用于 Collection<T>?

c - 调试程序,寻找数据峰值

python - 最小二乘法如何处理给定函数

python - 使用 wavio Python 3.5 读取 24 位 WAV

python - 使用 MatPlotLib 和 Numpy 将高斯拟合到直方图 - Y 缩放错误?

Python,循环 - 执行语句直到给出特定答案

python - Azure应用服务: specifying docker run port on container side