【发布时间】:2017-11-24 00:19:36
【问题描述】:
我有一个带有 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)
我需要为每个人找到最近的一个,距离将是所需数据框中的第五列。我尝试:
dicts1 = dict(zip(df.ID, df.coords))
dicts2 = dict(zip(df.ID, df.coords))
f_dict={}
for key, value in dicts1.iteritems():
for k, v in dicts2.iteritems():
lista.append(geopy.distance.vincenty(value, v).km)
f_dict.update({key:lista})
我只得到了所有它们的一个距离,但此时我需要为它们中的每一个获取 len(data['ID']) 值,大约是 1500,所以 1500*1500,之后我需要采取最近,最低的距离(0除外)。所以,出了点问题,我不知道如何解决这个问题。
【问题讨论】:
标签: python coordinates nearest-neighbor geopy