有一个nd.array
被称为label1
,在打印出来时,它有
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 88 0]
[0 0 0 ..., 0 0 0]
...,
[0 0 1 ..., 0 0 0]
[0 0 0 ..., 0 2 0]
[0 0 0 ..., 0 0 0]]
它的形状是(729,816)
。有没有办法知道这个数组中有多少个唯一值?运行print(np.where(label1==label1.max()))
时,结果看起来像(array([ 0, 0, 0, ..., 234, 234, 234]), array([450, 451, 452, ..., 433, 434, 435]))
,这是否意味着它有两个数组(或两行)具有这些最大值?
答案 0 :(得分:0)
numpy.unique(label1)
。numpy.where
返回两个数组,这些数组是所有匹配条目的行和列坐标。因此,如果numpy.where
返回(array([0]), array([1]))
,则表示在第0行第1列找到了一个匹配。 编辑:如果要从numpy.where
提取并打印行和列坐标,可以这样做:
rows, cols = np.where(label1==label1.max())
for row, col in zip(rows, cols):
print row, col