у меня есть большой массив Numpy (dtype=int
) и набор чисел, которые я хотел бы найти в этом массиве, например,Numpy целочисленный массив: Найти индексы нескольких целевых Интс
import numpy as np
values = np.array([1, 2, 3, 1, 2, 4, 5, 6, 3, 2, 1])
searchvals = [3, 1]
# result = [0, 2, 3, 8, 10]
result
массив не нужно сортировать.
Скорость является проблемой, и так как values
и searchvals
могут быть большими,
for searchval in searchvals:
np.where(values == searchval)[0]
не режет его.
Любые подсказки?
Какой должен быть формат выходного массива? Из-за разных выходных длин на каждой итерации он не может быть сохранен в массиве регулярной формы IIUC. Или мы можем конгломератировать все в одном массиве 1D? – Divakar
В идеале я приведу массив индексов (например, 'result' в примере). –
Ах, милый! Не заметил этого. – Divakar