Heim >Backend-Entwicklung >Python-Tutorial >Harvesine-Vektorisierung von Vektorlisten
Ich habe einen Codeausschnitt, der die Halbsinusfunktion verwendet, um die Abstandsmatrix zwischen zwei Koordinatenlisten zu berechnen. Die aktuelle Implementierung funktioniert zwar, sie beinhaltet jedoch verschachtelte Schleifen und kann bei großen Datenmengen sehr zeitaufwändig sein. Ich suche nach einer effizienteren Alternative, die die Verwendung einer for-Schleife vermeidet.
import numpy as np from haversine import haversine string_list_1 = [(20.00,-100.1),...] # List of vector pair coordinates (lat,long) string_list_2 = [(21.00,-101.1),...] # Another list of pair coordinates dist_mat = np.zeros((len(string_list_1), len(string_list_2))) for i, coord1 in enumerate(string_list_1): dist_mat[i, :] = np.array([haversine(coord1, coord2) for coord2 in string_list_2])
Ich hätte gerne Ratschläge oder Codebeispiele für eine effizientere und schnellere Implementierung unter Vermeidung der Verwendung von for-Schleifen.
Verwenden Sie haversine
in sklearn. Indikatoren:
from sklearn.metrics.pairwise import haversine_distances haversine_distances(string_list_1,string_list_2)
Das obige ist der detaillierte Inhalt vonHarvesine-Vektorisierung von Vektorlisten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!