Расстояние с массивом разных размеров - PullRequest
0 голосов
/ 10 мая 2018

У меня есть массив с такими размерами:

pos = np.array([[   1.72,   2.56],
            [   0.24,   5.67],
            [  -1.24,   5.45],
            [  -3.17,  -0.23],
            [   1.17,  -1.23],
            [   1.12,   1.08]])

и я хочу найти расстояние между каждой строкой массива до точки индекса, которая будет

ref = np.array([1.22, 1.18])

Таким образом, у меня был бы массив с 4 элементами в качестве ответа, но я действительно запутался в том, как подходить к этому с использованием только кучи, поскольку я пробовал много способов, но размер массива ref представляет проблему. Спасибо за помощь.

Ожидаемый ответ - массив из 6 элементов. Элементы примерно:

[ 1.468,  4.596,  4.928 ,  4.611,  2.410,  0.141 ]

1 Ответ

0 голосов
/ 10 мая 2018

Используя numpy и предполагая евклидову метрику:

import numpy as np
np.linalg.norm(pos - ref, axis=1)

Если вам нужен список Python (вместо numpy массив), добавьте .tolist() к предыдущей строке:

np.linalg.norm(pos - ref, axis=1).tolist()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...