как вычислить сумму для каждой пары строк x в матрице X и y в матрице Y? - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь написать функцию в python, которая принимает в качестве входных данных две матрицы X и Y и вычисляет для каждой пары строк x в X и y в Y норму || x - y || , Я хотел бы сделать это без использования для циклов. У вас есть идея, как это сделать?

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

Я просто решаю это: D вместо len (np.trnspose (y)) я должен был сделать len (y), и он отлично работал с a для l oop.

0 голосов
/ 17 марта 2020

Вы можете сделать это без for для l oop, используя функцию numpy.linalg.norm

x = np.array([[5, 4, 1],
              [3, 2, 1]])
y = np.array([[5, 4, 2],
              [3, 3, 2]])
np.linalg.norm(x - y, axis=1)

>> array([1. , 1.41421356])

Чтобы сделать то же самое, но по столбцам, используйте axis=0

np.linalg.norm(x - y, axis=0)

>>array([0. , 1. , 1.41421356])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...