Рассчитать Km с широтой и долготой различных DataFrames Python Pandas - PullRequest
0 голосов
/ 28 августа 2018

У меня есть 4 кадра данных (ticket_data.csv, provider.csv, station.csv и towns.csv)

В station.csv у меня есть 2 поля с именами o_city (город происхождения) и d_city (город назначения). Эти два поля дают мне идентификатор города, который мне нужно искать в городах. Ccsv

В сити. CSV у меня есть широта и длина каждого города.

Как рассчитать расстояние между o_city и d_city для каждого билета? Я пытался использовать pyproj, но я не нашел способа заставить его работать с каждым билетом ..

Снимок экрана с файлами CSV:

ticket_data.csv

cities.csv

1 Ответ

0 голосов
/ 28 августа 2018

Добро пожаловать в StackOverflow! В вашем городе датафрейм, при условии, что он называется city_df ; для каждой строки вы можете использовать так называемую формулу расстояния haversine из евклидовой геометрии, чтобы вычислить расстояние между двумя парами координат на поверхности Земли. Вот пример некоторого фиктивного кода на Python3, который показывает, как вы можете это сделать (просто используя две пары координат для простоты общения):

from haversine import haversine

distance = haversine((city_df[origin_lat][0], city_df[origin_lon][0]), (city_df[destination_lat][0], city_df[destination_lon][0]))

Координаты должны быть в десятичных градусах, как в 43.9202 вместо 43 * 38 "67 '. С учетом этого выходное значение distance будет в км.

Надеюсь, это поможет вам приблизиться к решению вашей проблемы!

P. S. - вам может понадобиться установить haversine, так как его нет в стандартной библиотеке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...