Python 在numpy数组中查找值为零的所有元素
在找到像素的dct值后,我对像素进行了量化。现在我的任务是在得到的numpy数组中找到所有等于零的元素。 non_zero()函数返回所有索引,这不是我想要的。我该怎么做呢。 起初,我认为我可以迭代numpy数组,但对于(400400)数组来说,这将花费永远的时间 例如,我有以下np数组:Python 在numpy数组中查找值为零的所有元素,python,arrays,numpy,Python,Arrays,Numpy,在找到像素的dct值后,我对像素进行了量化。现在我的任务是在得到的numpy数组中找到所有等于零的元素。 non_zero()函数返回所有索引,这不是我想要的。我该怎么做呢。 起初,我认为我可以迭代numpy数组,但对于(400400)数组来说,这将花费永远的时间 例如,我有以下np数组: [[ 0 1 2 3 4 5 6 7] [ 8 9 10 11 12 13 14 15] [16 17 18 19 20 21 22 23] [24 25
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]
[16 17 18 19 20 21 22 23]
[24 25 26 27 28 29 30 31]
[32 33 34 35 36 37 38 39]
[40 41 42 43 44 45 46 47]
[48 49 50 51 52 53 54 55]
[56 57 58 59 60 61 62 63]]
这里面有一个零。我想知道如何获取该零以及可能存在的任何其他零。不是
numpy
的专家,但我希望这能有所帮助:
In [135]: a = np.random.randint(5, size=(30,30))
In [136]: i = 0
In [137]: j = 0
In [138]: for x in a.tolist():
for y in x:
if ( y == 0 ):
print i,j
j += 1
i += 1
j = 0
.....:
0 4
0 8
0 10
0 25
...
In [139]: a[0][25]
Out[139]: 0
In [140]: a[0][4]
Out[140]: 0
In [141]: a[0][8]
Out[141]: 0
In [142]: a[0][9]
Out[142]: 1
谢谢像
a==0
?不管怎样,我使用了长度if非零指数并得到了差值。现在,这解决了问题。