Сортировать фрейм данных по другому фрейму данных - PullRequest
0 голосов
/ 05 мая 2020

У меня есть фрейм данных с маршрутом автобуса, то есть каждая запись является координатой. Эта база данных упорядочена в направлении, которое должен иметь маршрут, например: введите здесь описание изображения

df содержит идентификатор и координаты (UTM и широта, долгота).

Также у меня есть фрейм данных с остановками автобуса. Фрейм данных аналогичен, он содержит id и координаты остановок. Эти данные не упорядочены по маршруту, по которому следует автобус. Построив маршрут с его остановками, я могу увидеть маршрут, который у него есть, но при выполнении расчетов с базами данных они не логичны, так как некоторые маршруты являются циклическими. в зависимости от маршрута, по которому они следуют, то есть сравнить каждую запись на маршруте с местонахождением и отсортировать их. Я пытался сделать это разными способами, например, попытаться сравнить расстояние между этими точками:

def pseleccionados(paraderos):
    for i, sample in paraderos.iterrows():
        epsilon = 0.01
        df_epsilon = ruta[(ruta["X-Coordinate"] - sample[1] <= epsilon) & (ruta["Y-Coordinate"] - 
        sample[2] <= epsilon)]
        if(df_epsilon.empty):
            paraderos.drop(i, inplace=True)
            continue
    return paraderos

Я работаю с координатами UTM только для удобства, но это также может быть с широтой и долготой. Наконец, самым быстрым решением, хотя и неправильным, было отсортировать базу данных остановок в возрастающем или убывающем порядке, глядя на маршрут, по которому должен следовать автобус, но мне это не удалось. Надеюсь, ты сможешь мне помочь.

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