Получение наименьшего вектора из двух более эффективно - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу найти вектор наименьшего числа из двух заданных векторов. Я хочу использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...