np. Где содержит 3 входа . Первый - это ваше условие [False, True, True False ...] второй и третий входы, это возможные значения .
Таким образом, если условие истинно, grep значение второго входа в противном случае возьмите значение третьего входа.
np.where(arr[:,0] > 12, np.max(arr, axis=1), np.min(arr, axis=1))
return: array([11, 16, 17, 12])
и, если вам нужна сумма, просто добавьте сумму :):
np.where(arr[:,0] > 12, np.max(arr, axis=1), np.min(arr, axis=1)).sum()
return: 56
другой способ представления: [xv if c else yv for c, xv, yv in zip(condition, x, y)]
или просто прочтите документацию: https://numpy.org/doc/stable/reference/generated/numpy.where.html:)