Я хочу найти вектор наименьшего числа из двух заданных векторов. Я хочу использовать numpy
в Python3
. Все, что я придумал, является неэффективным из-за ненужного изменения формы массива. Есть ли более эффективный или, по крайней мере, более элегантный способ, чем мое собственное решение?
Мой способ найти наименьший вектор: входные данные представляют собой некие структуры с двумя различными векторами, хранящимися внутри этой структуры.
def find_smallest(construct1, construct2):
a = np.append(construct1.lower, construct2.lower)
b = np.reshape(a, (-1,2))
c = np.amin(b, axis=0)
return c
Ввод:
a = Construct(lower = [0,0], upper = [1,1])
b = Construct(lower = [1,1], upper = [11,11])
find_smallest(a, b)
Ожидаемый вывод:
[0 0]
Вот как выглядит класс Construct
:
class Construct:
def __init__(self, lower = [], upper, = []):
self.__lower = np.array(lower)
self.__upper = np.array(upper)
@property
def lower(self):
return self.__lower
@property
def upper(self):
return self.__upper