I have a code snippet that uses the semisine function to calculate the distance matrix between two coordinate lists. While the current implementation works, it involves nested loops and can be very time-consuming for large data sets. I'm looking for a more efficient alternative that avoids using a for loop.
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])
I would like suggestions or code examples for a more efficient and faster implementation avoiding the use of for loops.
Use haversine
in sklearn. index:
from sklearn.metrics.pairwise import haversine_distances haversine_distances(string_list_1,string_list_2)
The above is the detailed content of Harvesine vectorization of vector lists. For more information, please follow other related articles on the PHP Chinese website!