首页 > 后端开发 > Python教程 > 向量列表的 Harvesine 向量化

向量列表的 Harvesine 向量化

PHPz
发布: 2024-02-06 08:03:06
转载
520 人浏览过

向量列表的 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板