Как показать частоту записей, которые находятся на расстоянии 15 минут друг от друга - PullRequest
0 голосов
/ 22 мая 2018

У меня есть данные, которые выглядят следующим образом:

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

Затем я сложил это вместе

stacked = df2.stack()
dis = pd.DataFrame({'Routes': stacked.index.to_series(), 'Diff': stacked})[['Routes', 'Diff']].reset_index(drop=True)

Вывод enter image description here

Теперь,Я фильтрую на основе столбца diff.

Есть ли способ просто сделать частоту маршрутов, которые находятся на расстоянии 15 минут друг от друга, а также на основе даты без прохождения матричного метода.Причина в том, что он не работает для больших данных

Например, вывод должен выглядеть примерно так:

Date         Route     Frequency
12Feb2018    NYC-BOS     2
12Feb2018    SGF-XNA     4
13Feb2018    NYC-BOS     3
...