本記事ではPythonでユークリッド距離を算出する方法を解説します。
Pythonでユークリッド距離を算出するには標準ライブラリ、numpy、scipyを使う方法があります。
ユークリッド距離とは二点間の距離のことで、人間が定規で測るような通常の距離のことを指します。

\begin{eqnarray} \sqrt{(x_{2} – x_{1})^2 + (y_{2} – y_{1})^2} \end{eqnarray}
ライブラリを使わない場合
まずは、Pythonでライブラリを使わずにユークリッド距離を算出する方法を紹介します。
import math
x1 = 2
y1 = 2
x2 = 5
y2 = 6
distance = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
print(distance) # 5.0
上記のように自力で式を組み立てれば、ライブラリを使わなくともユークリッド距離を算出することができます。
ライブラリを使う場合
ライブラリを使用すれば式を組み立てなくとも簡単にユークリッド距離を算出することができます。
math.dist()
を使う方法np.linalg.norm()
を使う方法SciPy
を使う方法
順に解説してゆきます。
math.dist()を使う方法
まずは、math.dist()
を使う方法を紹介します。math.dist()
の場合、ライブラリを新たにインストールする必要はありません。下記を実行することでユークリッド距離を算出できます。
# ①ライブラリのインポート
from math import dist
# ②二つの点を定義する
a = (2, 2)
b = (5, 6)
# ③二つの点の間のユークリッド距離を算出する
print(dist(a,b)) # 5.0
np.linalg.norm()を使う方法
numpyを使う場合、事前に下記のコマンドでインストールする必要があります。
pip install numpy
その後、下記を実行することでユークリッド距離を算出することができます。
# ①ライブラリをインポートします。
import numpy as np
# ②二つの点を定義する
a = np.array([2, 2])
b = np.array([5, 6])
# ③二つの点の間のユークリッド距離を算出する
dist = np.linalg.norm(p - q)
print(dist) # 5.0
SciPyを使う方法
scipyを使う場合、事前に下記のコマンドでインストールする必要があります。
pip install scipy
その後、下記を実行することでユークリッド距離を算出することができます。
# ①ライブラリをインポートします。
from scipy.spatial import distance
# ②二つの点を定義する
a = [2, 2]
b = [5, 6]
# ③二つの点の間のユークリッド距離を算出する
dist = distance.euclidean(a, b)
print(dist) # 5.0
↓Pythonを始めるなら下記がオススメです。
