У меня есть кадр данных с идентификатором, широтой и долготой:
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). Итак, что-то не так, и я не могу понять, как решить проблему.