我在其他地方看到过这个话题,但没有真正回答我的问题。我有一个numpy数组,我需要找到一个数字的索引。
a=np.argsort(cosine_similarity(tfidf_matrix[11:12], tfidf_matrix)) #数字从0到11
b=np.equal(a,10)# b的值是 [[False False False False False False False False True False False False]]
如何让它返回索引8?(数组中真值的索引)
回答:
你需要使用numpy.where
b = np.where(a==10)
这里b
将是一个包含符合条件的项的索引的数组。如果你只对项的第一次出现感兴趣,你可以选择第一个元素(b[0]
)。
numpy.equal的文档说明:
逐元素返回(x1 == x2)。
这正是你得到的结果,一个包含数组a
和值10
逐元素比较的数组。