У меня есть массив arr
, который представляет n перестановок m координат. С каждой перестановкой я пытаюсь вычислить общее расстояние туда и обратно (проблема связана с проблемой путешествующего продавца). Чтобы сделать это, я конкатенировал первую координату каждой перестановки, а затем вычислил расстояние туда и обратно, используя np.linalg.norm
.
array([[[40, 30],
[37, 52],
[52, 64],
[49, 49],
[20, 26]],
[[52, 64],
[49, 49],
[40, 30],
[20, 26],
[37, 52]]])
Чтобы получить последовательности координат туда и обратно, я использовал следующее .
>>> np.array([np.concatenate((a, a[0, np.newaxis])) for a in arr])
array([[[40, 30],
[37, 52],
[52, 64],
[49, 49],
[20, 26],
[40, 30]], # First coordinate concatenated
[[52, 64],
[49, 49],
[40, 30],
[20, 26],
[37, 52],
[52, 64]]]) # First coordinate concatenated
Есть ли встроенная NumPy функциональность для достижения этой цели?