Python 二维阵列上的numpy where操作

Python 二维阵列上的numpy where操作,python,numpy,Python,Numpy,我有一个大小为571x24的numpy数组“a”,我试图在其中找到零的索引,因此我: >>>A.shape (571L, 24L) import numpy as np z1 = np.where(A==0) z1是具有以下大小的元组: >>> len(z1) 2 >>> len(z1[0]) 29 >>> len(z1[1]) 29 我希望创建一个与a相同大小的z1。我如何实现这一点 编辑:我想创建布尔数组z1,用于

我有一个大小为571x24的numpy数组“a”,我试图在其中找到零的索引,因此我:

>>>A.shape
(571L, 24L)

import numpy as np
z1 = np.where(A==0)
z1是具有以下大小的元组:

>>> len(z1)
2
>>> len(z1[0])
29
>>> len(z1[1])
29

我希望创建一个与a相同大小的z1。我如何实现这一点

编辑:我想创建布尔数组z1,用于在以下情况下显示零:

>>>z1.shape
    (571L, 24L)

您可以使用python中的等式运算符和numpy来检查这一点。例如:

>>> A = np.array([[0,2,2,1],[2,0,0,3]])
>>> A == 0
array([[ True, False, False, False],
       [False,  True,  True, False]], dtype=bool)
np.where()
执行其他操作,请参阅。尽管如此,使用广播
np.where()
还是可以实现这一点。见文件

>>> np.where(A == 0, True, False)
array([[ True, False, False, False],
       [False,  True,  True, False]], dtype=bool)
试试这个:

import numpy as np
myarray = np.array([[0,3,4,5],[9,4,0,4],[1,2,3,4]])
ix = np.in1d(myarray.ravel(), 0).reshape(myarray.shape)
第九章的产出:

array([[ True, False, False, False],
       [False, False,  True, False],
       [False, False, False, False]], dtype=bool)

“我希望创建一个与a相同大小的z1。”-你认为
z1
是什么意思?您似乎在寻找一种不同于
np.where
提供的数据表示形式。你在寻找什么样的数据表示形式?如果我理解正确,你想找到数组中零出现的位置的索引?这不就是
z1=A==0