У меня есть данные, которые выглядят следующим образом:
Date Time Route
12Feb2018 12.17.00 NYC-BOS
12Feb2018 12.19.14 NYC-BOS
12Feb2018 21.07.05 SGF-XNA
13Feb2018 11.17.00 NYC-BOS
13Feb2018 11.19.14 NYC-BOS
13Feb2018 22.07.05 SGF-XNA
Я хочу посмотреть, какие поездки отправляются в течение 15 минут.
Вот что я сделал,
Я преобразовал время в минуты и сохранил как столбец минут.
Я использовал приведенный ниже код для создания матрицы, чтобы увидеть все возможные комбинации различий
df2 = pd.DataFrame(np.abs(np.subtract.outer(data.mins, data.mins)), data.Route, data.Route)
df2
Вывод этого кода выглядит следующим образом: ![enter image description here](https://i.stack.imgur.com/aQyS8.png)
Затем я сложил это вместе
stacked = df2.stack()
dis = pd.DataFrame({'Routes': stacked.index.to_series(), 'Diff': stacked})[['Routes', 'Diff']].reset_index(drop=True)
Вывод ![enter image description here](https://i.stack.imgur.com/Q0g3L.png)
Теперь,Я фильтрую на основе столбца diff.
Есть ли способ просто сделать частоту маршрутов, которые находятся на расстоянии 15 минут друг от друга, а также на основе даты без прохождения матричного метода.Причина в том, что он не работает для больших данных
Например, вывод должен выглядеть примерно так:
Date Route Frequency
12Feb2018 NYC-BOS 2
12Feb2018 SGF-XNA 4
13Feb2018 NYC-BOS 3