NumPy でユークリッド距離を計算するにはどうすればよいでしょうか? 質問する

NumPy でユークリッド距離を計算するにはどうすればよいでしょうか? 質問する

3D 空間に 2 つのポイントがあります。

a = (ax, ay, az)
b = (bx, by, bz)

それらの間の距離を計算したい:

dist = sqrt((ax-bx)^2 + (ay-by)^2 + (az-bz)^2)

NumPy でこれをどうやって行うのでしょうか? 次のものがあります:

import numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))

ベストアンサー1

使用numpy.linalg.norm:

dist = numpy.linalg.norm(a-b)

これはユークリッド距離がl2ノルムであり、ordパラメータのデフォルト値がnumpy.linalg.norm2であるため機能します。より詳しい理論については、データマイニング入門:

ここに画像の説明を入力してください

おすすめ記事