我正在研究一个大型阵列(3000 x 3000),我使用scipy.ndimage.label
. 返回的是 3403 个标签和带标签的数组。我想知道这些标签的索引,例如标签 1 我应该知道标签数组中的行和列。所以基本上是这样的
a[0] = array([[1, 1, 0, 0],
[1, 1, 0, 2],
[0, 0, 0, 2],
[3, 3, 0, 0]])
indices = [np.where(a[0]==t+1) for t in range(a[1])] #where a[1] = 3 is number of labels.
print indices
[(array([0, 0, 1, 1]), array([0, 1, 0, 1])), (array([1, 2]), array([3, 3])), (array([3, 3]), array([0, 1]))]
我想为上面的所有 3403 标签创建一个索引列表。上面的方法似乎很慢。我尝试使用生成器,看起来没有改进。
有什么有效的方法吗?