我有一个2D的numpy数组,其填充了从0到N的整数值,如何获取所有直接相连且共享相同值的条目的索引。
补充说明:大部分条目都是零,可以忽略!
示例输入数组:
输出数组的格式并不重要,我只需要能够分离值集群并且能够访问单个索引的地方。
我最初考虑的是:
但是这样会忽略具有相同值的簇之间的分离。
补充说明:大部分条目都是零,可以忽略!
示例输入数组:
[ 0 0 0 0 0 ]
[ 1 1 0 1 1 ]
[ 0 1 0 1 1 ]
[ 1 0 0 0 0 ]
[ 2 2 2 2 2 ]
期望的输出索引:
1: [ [1 0] [1 1] [2 1] [3 0] ] # first 1 cluster
[ [1 3] [1 4] [2 3] [2 4] ] # second 1 cluster
2: [ [4 0] [4 1] [4 2] [4 3] [4 4] ] # only 2 cluster
输出数组的格式并不重要,我只需要能够分离值集群并且能够访问单个索引的地方。
我最初考虑的是:
N = numberClusters
x = myArray
for c in range(N):
for i in np.where(x==c):
# fill output array with i
但是这样会忽略具有相同值的簇之间的分离。