Скажем, у меня есть массив NumPy a = np.array([1, 5, 3, 2, 4, 6, 7])
.Теперь у меня есть еще один массив NumPy b = np.array([-1, -2, 3, 2, -1, -3])
.Длина b
меньше или равна a
.Я хочу найти индекс i
наименьшего элемента в a
такой, что b[i] > 0
.Таким образом, в приведенном выше примере результат будет 3
, поскольку согласно b
действительны только индексы 2, 3
и a[2] == 3
и a[3] == 2
, поэтому выбран индекс 3
.
Myтекущее решение -
smallest = np.inf
index = None
for i in range(len(b)):
if b[i] > 0:
if(a[i] < smallest):
smallest = a[i]
index = i
Я не уверен, смогу ли я использовать numpy, чтобы сделать это более эффективно.Любой совет приветствуется.Спасибо.