从2D Numpy数组中提取多个元素的索引,Python
我有一个2D numpy数组从2D Numpy数组中提取多个元素的索引,Python,python,numpy,indexing,Python,Numpy,Indexing,我有一个2D numpy数组 import numpy as np x = np.array([[7, 7, 7], [4, 7, 7], [4, 0, 0]]) 我提取了y,这是 y = [4 4] 现在我想提取[4]在x中的指数 我使用以下方法 indices = np.argwhere(x == y) 结果是[[1 0][2 0] 但在某些情况下,此代码会失败。请您建议执行相同任务的其他方法。您也可以使用nonzero() x=
import numpy as np
x = np.array([[7, 7, 7],
[4, 7, 7],
[4, 0, 0]])
我提取了y,这是
y = [4 4]
现在我想提取[4]在x中的指数
我使用以下方法
indices = np.argwhere(x == y)
结果是[[1 0][2 0]
但在某些情况下,此代码会失败。请您建议执行相同任务的其他方法。您也可以使用
nonzero()
x==y
不起作用,是吗?x==4
是一个布尔值,其中x
是4。np.nonzero(x==4)
是一个索引元组,其中为真。x[x==4]
产生y
np.argwhere(x==4)
类似于非零
,但索引没有那么有用。您也可以执行x[1:0]
来获得y
。
indices = np.nonzero(x == 4)
# (array([1, 2]), array([0, 0]))