【发布时间】:2021-02-01 00:14:15
【问题描述】:
我有一个 2D numpy 数组
import numpy as np
x = np.array([[7, 7, 7],
[4, 7, 7],
[4, 0, 0]])
我提取的 y 是
y = [4 4]
现在我想提取 x 中 [4 4] 的索引
我正在使用以下方法
indices = np.argwhere(x == y)
结果[[1 0][2 0]
但在某些情况下,此代码会失败。您能建议任何其他方式来执行相同的任务吗
【问题讨论】:
-
x==y不起作用,是吗?x==4是一个布尔值,其中x是 4。np.nonzero(x==4)是一个索引元组,这是真的。x[x==4]产生y。np.argwhere(x==4)与nonzero类似,但索引并不那么有用。您也可以通过x[1:, 0]获取y。