假设我有以下情况:
array1=np.array([[1,0,0],[0,1,0],[0,0,1]])
array2=np.array([0,0,1])
现在
array1[2]
给出了输出
[0,0,1]
所以现在我想有代码给出array1
(在本例中是2
)的索引作为匹配array2
到array1
的输出。有什么优雅的方法吗?我试过numpy.where
,但没有得到正确的
我不确定我是否正确理解了你的问题。但是你也可以这样做:
import numpy as np
np.where((array2 == array1).all(axis=1))
你可以这样做:
index = np.argmax([0,0,1])
或者这样写:
indices = np.where(np.array([0,0,1]) == 1)
mask=np.all(array1 == array2, axis=1)
将为您提供一个True和False的数组。这将在条件匹配的地方标记为True。您可以使用ind=np.argwhere(mask)
搜索所有"True"的索引。在某种程度上,这和@sehan2的答案是一样的。