Вычисление расстояния между многомерными точками в Python: методы Евклида, Манхэттена и Минковского

Чтобы вычислить расстояние между двумя многомерными точками в Python, вы можете использовать различные методы. Вот несколько часто используемых подходов:

  1. Евклидово расстояние: Евклидово расстояние — это расстояние по прямой между двумя точками в евклидовом пространстве. В Python вы можете вычислить его с помощью функции normбиблиотеки numpyили модуля distanceбиблиотеки scipy.
import numpy as np
point1 = np.array([x1, y1, z1])  # coordinates of point 1
point2 = np.array([x2, y2, z2])  # coordinates of point 2
euclidean_distance = np.linalg.norm(point1 - point2)
  1. Манхэттенское расстояние. Манхэттенское расстояние, также известное как расстояние городского квартала или норма L1, представляет собой сумму абсолютных разностей между координатами двух точек. Он рассчитывается с помощью функции absбиблиотеки numpy.
manhattan_distance = np.sum(np.abs(point1 - point2))
  1. Расстояние Минковского. Расстояние Минковского — это обобщенная метрика расстояния, включающая в качестве особых случаев евклидово и манхэттенское расстояния. Его можно рассчитать с помощью модуля distanceбиблиотеки scipy.
from scipy.spatial import distance
minkowski_distance = distance.minkowski(point1, point2)