查找numpy数组中值为零的所有元素

时间:2017-08-24 15:19:48

标签: python arrays numpy

我在找到像素的dct值后对像素进行了量化。现在我的任务是在生成的numpy数组中找到所有等于零的元素。 np.non_zero()函数返回所有索引,这不是我想要的。我怎么能这样做呢。 起初我以为我可以迭代numpy数组但是(400,400)数组需要永远。

例如,我有以下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 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]]

其中有一个零。我想知道如何获得零和任何其他可能存在的零。

1 个答案:

答案 0 :(得分:0)

不是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

由于