Numpy Array Получить поиск индекса строки по строке

Я новичок в numpy, и я реализую кластеризацию со случайным лесом в python. Мой вопрос:

Как мне найти индекс точной строки в массиве? Например

[[ 0.  5.  2.]
 [ 0.  0.  3.]
 [ 0.  0.  0.]]

и я ищу [0. 0. 3.] и получаю как результат 1 (индекс второй строки).

Любое предложение? Выполняет код (не работает...)

    for index, element in enumerate(leaf_node.x):
        for index_second_element, element_two in enumerate(leaf_node.x):
            if (index <= index_second_element):
                index_row = np.where(X == element)
                index_column = np.where(X == element_two)
                self.similarity_matrix[index_row][index_column] += 1

Ответы

Ответ 1

Почему бы просто не сделать что-то подобное?

>>> a
array([[ 0.,  5.,  2.],
       [ 0.,  0.,  3.],
       [ 0.,  0.,  0.]])
>>> b
array([ 0.,  0.,  3.])

>>> a==b
array([[ True, False, False],
       [ True,  True,  True],
       [ True,  True, False]], dtype=bool)

>>> np.all(a==b,axis=1)
array([False,  True, False], dtype=bool)

>>> np.where(np.all(a==b,axis=1))
(array([1]),)