Python 二维阵列上的numpy where操作
我有一个大小为571x24的numpy数组“a”,我试图在其中找到零的索引,因此我: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,用于
>>>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
?