Pythonでユークリッド距離を算出する方法

Python

本記事では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を始めるなら下記がオススメです。

楽天ブックス
¥2,640 (2025/03/17 19:40時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
タイトルとURLをコピーしました