我有以下数组。我想通过数组的搜索键提取索引。
np.array([[1,2],[2,2], [3,2], [2,2]])
的shep是(4, 2)
。所以搜索[2, 2]
的结果应该返回[1, 3]
,这是[2, 2]
的索引np.argwhere
是一个强大的功能,不过,如何使用这个为我的目的呢
In [31]: d=np.array([[1,2],[2,2], [3,2], [2,2]])
In [32]: d
Out[32]:
array([[1, 2],
[2, 2],
[3, 2],
[2, 2]])
In [33]: np.where(d==np.array([2,2]))
Out[33]: (array([0, 1, 1, 2, 3, 3]), array([1, 0, 1, 1, 0, 1]))
In [34]: np.argwhere(d==np.array([2,2]))
Out[34]:
array([[0, 1],
[1, 0],
[1, 1],
[2, 1],
[3, 0],
[3, 1]])
使用
np.all(..., axis=1)
减少第二个轴上的布尔数组,然后使用np.where
:相关问题 更多 >
编程相关推荐