我有一个ID、纬度和经度的数据帧:
ID Latitude Longitude coords
A 45.0353 52.5362 (45.0353, 52.5362)
B 24.6374 12.5363 (24.6374, 12.5363)
C 42.3539 21.O530 (42.3539, 21.O530)
D 48.3638 18.3903 (48.3638, 18.3903)
我需要对它们中的每一个,找到最近的一个,距离将是所需数据帧中的第五列。我尝试使用:
^{pr2}$我只得到了它们的一个距离,但是现在我需要得到它们的len(data['ID'])数值,大约是1500,所以1500*1500,之后我需要取最近的,最小的距离(除了0)。所以,出了点问题,我想不出怎么解决这个问题。在
您的代码没有显示
lista
是如何定义的。如果您将lista=[]
放在外部for循环的开始处,那么它将为您提供您要查找的1500*1500组值。但是请注意,您不需要定义两次字典,而是可以在同一个字典上迭代两次。此外,您可以在内部循环完成后更新f_dict
,而不是在每次迭代中更新它:然后,您必须迭代
f_dict
以获得所需的最小值。在但是请注意,计算地理距离可能会很慢,因此您可以尝试忽略重复对。也就是说,如果您已经完成了},那么就不需要计算}的值。以下是避免重复计算并直接返回最小距离字典的代码版本:
^{pr2}$A
和{B
和{相关问题 更多 >
编程相关推荐