我有一个numpy阵列' A'大小为571x24,我试图在其中找到零的索引,所以我这样做:
>>>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,在A中存在零,这样:
>>>z1.shape
(571L, 24L)
答案 0 :(得分:1)
你可以使用numpy中的python中的相等运算符来检查它。例如:
>>> 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()
执行其他操作,请参阅documentation。虽然,可以使用np.where()
使用广播来实现这一点。见文档。
>>> np.where(A == 0, True, False)
array([[ True, False, False, False],
[False, True, True, False]], dtype=bool)
答案 1 :(得分:1)
试试这个:
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)
ix的输出:
array([[ True, False, False, False],
[False, False, True, False],
[False, False, False, False]], dtype=bool)