【发布时间】:2021-11-01 11:57:02
【问题描述】:
我有一小组和一大组地点,我需要知道这些地点之间的地理距离。我的数据集的一个示例(它们具有相同的结构,但一个更大):
location lat long
0 Gieten 53.003312 6.763908
1 Godlinze 53.372605 6.814674
2 Grijpskerk 53.263894 6.306134
3 Groningen 53.219065 6.568008
为了计算距离,我使用haversine library。 hasrsine 函数希望输入看起来像这样:
lyon = (45.7597, 4.8422) # (lat, lon)
london = (51.509865, -0.118092)
paris = (48.8567, 2.3508)
new_york = (40.7033962, -74.2351462)
haversine_vector([lyon, london], [paris, new_york], Unit.KILOMETERS, comb=True)
之后的输出如下所示:
array([[ 392.21725956, 343.37455271],
[6163.43638211, 5586.48447423]])
如何在不单独添加所有位置的情况下使用我的两个数据集计算距离矩阵的函数?我尝试过使用字典,并尝试遍历两个数据集中的位置,但我似乎无法弄清楚。我对 python 很陌生,所以如果有人有一个易于理解但不是很优雅的解决方案,我会更喜欢 lambda 函数等。谢谢!
【问题讨论】:
-
您的数据集是使用 Pandas 还是 Numpy 或类似的东西(也许是
DataFrame?)
标签: python haversine distance-matrix