首頁 > 後端開發 > Python教學 > 向量列表的 Harvesine 向量化

向量列表的 Harvesine 向量化

PHPz
發布: 2024-02-06 08:03:06
轉載
544 人瀏覽過

向量列表的 Harvesine 向量化

問題內容

我有一個程式碼片段,它使用半正矢函數計算兩個座標列表之間的距離矩陣。雖然當前的實作有效,但它涉及嵌套循環,並且對於大型資料集可能非常耗時。我正在尋找一種更有效的替代方案,避免使用 for 迴圈。

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])
登入後複製

我希望得到建議或程式碼範例,以便更有效、更快速地實現避免使用 for 迴圈。


正確答案


使用sklearn中的#haversine。指標:

from sklearn.metrics.pairwise import haversine_distances
haversine_distances(string_list_1,string_list_2)
登入後複製

以上是向量列表的 Harvesine 向量化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板