Numpy поддерживает векторизованные операции ( широковещание )
Это означает, что вы можете передавать массивы, и операции будут применяться ко всем массивам оптимизированным способом (SIMD - одна инструкция, несколько данных)
Затем вы можете получить адрес минимального массива, используя .argmin()
Надеюсь, это поможет
In [9]: numbers = np.arange(10); numbers
Out[9]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [10]: numbers -= 5; numbers
Out[10]: array([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4])
In [11]: numbers = np.power(numbers, 2); numbers
Out[11]: array([25, 16, 9, 4, 1, 0, 1, 4, 9, 16])
In [12]: numbers.argmin()
Out[12]: 5