⚡️Как рассчитать евклидово расстояние в Питоне: простой метод
Евклидово расстояние в питоне можно посчитать с помощью функции distance из библиотеки scipy.spatial или с помощью функции sqrt из библиотеки math.
Вот пример использования функции distance:
from scipy.spatial import distance
point1 = (1, 2, 3)
point2 = (4, 5, 6)
euclidean_distance = distance.euclidean(point1, point2)
print("Евклидово расстояние:", euclidean_distance)
Или вот пример использования функции sqrt:
from math import sqrt
point1 = (1, 2, 3)
point2 = (4, 5, 6)
euclidean_distance = sqrt(sum([(a - b) ** 2 for a, b in zip(point1, point2)]))
print("Евклидово расстояние:", euclidean_distance)
Детальный ответ
Как посчитать евклидово расстояние в Python
Евклидово расстояние - это мера расстояния между двумя точками в n-мерном пространстве. В Python вы можете вычислить евклидово расстояние с помощью следующего кода:
import math
def euclidean_distance(point1, point2):
if len(point1) != len(point2):
raise ValueError("Точки должны иметь одинаковую размерность")
distance = math.sqrt(sum([(a - b) ** 2 for a, b in zip(point1, point2)]))
return distance
# Пример использования
point1 = [1, 2, 3]
point2 = [4, 5, 6]
distance = euclidean_distance(point1, point2)
print(f"Евклидово расстояние между {point1} и {point2} равно {distance}")
В этом коде мы определяем функцию euclidean_distance
, которая принимает две точки в виде списков значений и возвращает евклидово расстояние между ними. Для вычисления расстояния мы используем формулу:
distance = math.sqrt(sum([(a - b) ** 2 for a, b in zip(point1, point2)]))
Здесь мы вычисляем разницу между каждой парой координат точек, возводим ее в квадрат и суммируем все значения. Затем мы извлекаем квадратный корень из суммы, чтобы получить окончательное евклидово расстояние.
Обратите внимание, что перед вычислением расстояния мы проверяем, имеют ли точки одинаковую размерность. Если размерности разные, возникает исключение.
Вот пример использования функции euclidean_distance
. Мы передаем две точки и выводим результат:
point1 = [1, 2, 3]
point2 = [4, 5, 6]
distance = euclidean_distance(point1, point2)
print(f"Евклидово расстояние между {point1} и {point2} равно {distance}")
После выполнения кода вы получите следующий вывод:
Евклидово расстояние между [1, 2, 3] и [4, 5, 6] равно 5.196152422706632
В этом примере мы передали точку [1, 2, 3]
и точку [4, 5, 6]
функции euclidean_distance
. Результатом является евклидово расстояние между этими двумя точками, которое равно 5.196152422706632
.
Теперь вы знаете, как посчитать евклидово расстояние в Python. Эта информация пригодится вам при работе с алгоритмами машинного обучения, анализе данных и других задачах, связанных с измерением расстояний.