我有一个100乘100的numpy矩阵。该矩阵主要由零填充,但也包含一些整数。例如:
[0 0 0 0 0 0 0 1]
[0 2 2 0 0 0 0 0]
[0 0 2 0 0 0 0 0] False
[0 0 0 0 0 0 0 0]
[0 3 3 0 0 0 0 0]
如何高效地确定矩阵是否包含相邻的不同类型的整数?
上面的示例将返回False。这里是一个True示例,其中包含指示相邻性的行:
[0 0 0 0 0 0 0 1]
[0 2 2 1 1 0 0 0] <---- True
[0 0 2 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 3 3 0 0 0 0 0]
对角线不被视为相邻。因此,该示例也将返回False:[0 0 0 1 1 1 1 1]
[0 2 2 0 1 0 0 0]
[0 0 2 0 0 0 0 0] False
[0 3 0 0 0 0 0 0]
[3 3 3 0 0 0 0 0]
我不需要确定相邻位置的具体坐标,只需要知道它是否存在。
目前,我找到矩阵中每个非零元素,并检查其4个相邻元素是最好的方法。
感谢所有出色的答案。
numpy.diff
开始。 - Benjamin