Я пытаюсь использовать numpy.vectorize для итерации по матрице (2x5), которая содержит два вектора, представляющих значения координат x и y.Координаты (значения x и y) должны быть переданы в функцию, возвращающую вектор (1x1) для каждой итерации.Так что в итоге результатом должен быть вектор (1x5).Моя проблема заключается в том, что вместо того, чтобы выполнять итерацию по каждому элементу, я хочу, чтобы алгоритм выполнял итерацию по обоим векторам одновременно, поэтому он получает параллельные значения x и y для передачи его в функцию.
data = np.transpose(np.array([[1, 2], [1, 3], [2, 1], [1, -1], [2, -1]]))
th_ = np.array([[1, 1]])
th0_ = -2
def positive(x, th = th_, th0 = th0_):
if signed_dist(x, th, th0)[0][0] > 0:
return np.array([[1]])
elif signed_dist(x, th, th0)[0][0] == 0:
return np.array([[0]])
else:
return np.array([[-1]])
positive_numpy = np.vectorize(positive)
results = positive_numpy(data)
Чтение пустой документации не очень помогло, и я хочу избежать больших обходных путей в пользу расчета времени.Благодарен за любое предложение!