Замените неотрицательные значения на -inf
, затем используйте argmax
, чтобы найти наибольшее отрицательное значение:
np.where(arr < 0, arr, -np.inf).argmax()
# 2
Аналогичным образом замените неположительные значения на inf
, затем используйте argmin
, чтобы найти наименьшее положительное значение:
np.where(arr > 0, arr, np.inf).argmin()
# 4