So berechnen sie den euklidischen abstand in python (mit beispielen)
Der euklidische Abstand zwischen zwei Vektoren A und B wird wie folgt berechnet:
Euklidischer Abstand = √ Σ(A i -B i ) 2
Um den euklidischen Abstand zwischen zwei Vektoren in Python zu berechnen, können wir die Funktion numpy.linalg.norm verwenden:
#import functions import numpy as np from numpy. linalg import norm #define two vectors a = np.array([2, 6, 7, 7, 5, 13, 14, 17, 11, 8]) b = np.array([3, 5, 5, 3, 7, 12, 13, 19, 22, 7]) #calculate Euclidean distance between the two vectors norm(ab) 12.409673645990857
Der euklidische Abstand zwischen den beiden Vektoren beträgt 12,40967 .
Beachten Sie, dass diese Funktion eine Warnmeldung erzeugt, wenn die beiden Vektoren nicht die gleiche Länge haben:
#import functions import numpy as np from numpy. linalg import norm #define two vectors a = np.array([2, 6, 7, 7, 5, 13, 14]) b = np.array([3, 5, 5, 3, 7, 12, 13, 19, 22, 7]) #calculate Euclidean distance between the two vectors norm(ab) ValueError : operands could not be broadcast together with shapes (7,) (10,)
Beachten Sie, dass wir diese Funktion auch verwenden können, um den euklidischen Abstand zwischen zwei Spalten eines Pandas-DataFrames zu berechnen:
#import functions import pandas as pd import numpy as np from numpy. linalg import norm #define DataFrame with three columns df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate Euclidean distance between 'points' and 'assists' norm(df[' points '] - df[' assists ']) 40.496913462633174
Der euklidische Abstand zwischen den beiden Spalten beträgt 40,49691 .
Kommentare
1. Es gibt mehrere Möglichkeiten, den euklidischen Abstand in Python zu berechnen, aber wie dieser Stack Overflow-Thread erklärt , erweist sich die hier erläuterte Methode als die schnellste.
2. Die vollständige Dokumentation der Funktion numpy.linalg.norm finden Sie hier .
3. Auf dieser Wikipedia-Seite erfahren Sie mehr über den euklidischen Abstand.