Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all () - Numpy Library - PullRequest
1 голос
/ 06 ноября 2019

Я видел эту же тему в другом месте, но никакого реального ответа на мой вопрос не было. У меня есть пустой массив, и мне нужно найти индекс числа.

a=np.argsort(cosine_similarity(tfidf_matrix[11:12], tfidf_matrix)) #numbers are from 0 to 11

b=np.equal(a,10)

# b values are [[False False False False False False False False  True False False False]]

Как мне получить его, чтобы он возвращал индекс 8? (Индекс для истинного значения в массиве)

1 Ответ

1 голос
/ 06 ноября 2019

Вы ищете numpy.where

b = np.where(a==10)

Здесь b будет массивом, который содержит индексы элементов, соответствующих вашему состоянию. Вы можете выбрать первый элемент (b[0]), если вас интересует только первое вхождение элемента.

В документации по numpy.equal сказано, что:

Возврат (x1 == x2) поэлементно.

И это именно то, что вы получили, массив, который содержит поэлементное сравнение массива a и значения 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...