Есть ли способ объединить две таблицы в панды во временных столбцах, указав диапазон времени? - PullRequest
0 голосов
/ 18 декабря 2018

Скажем, у меня есть два фрейма данных df1 и df2.Они оба имеют столбцы вида

Date/Time
01-06-2013 23:00:00
02-06-2013 01:00:00
02-06-2013 21:00:00
02-06-2013 22:00:00
02-06-2013 23:00:00

Мне нужна функция

join_temporal(range=<num>, unit= <"seconds" xor "minutes" xor "hours" xor "days">, df1, df2)

Так что, если я позвоню

join_temporal(range=3, unit="days", df1, df2)

, я получусоединенные строки находятся в диапазоне 3 дня.

Если я позвоню

join_temporal(range=2, unit="hours", df1, df2)

, я получу соединенные строки, которые находятся в диапазоне 2 часа.

Есть ли какое-то хорошееопции pandas для помощи в реализации функции join_temporal?

1 Ответ

0 голосов
/ 18 декабря 2018

Я не могу вспомнить какие-либо встроенные методы панд, которые могут это сделать.Мой совет - создать новый столбец, который содержит дату и время, представленные в менее детализированной форме (т.е. день или час).Если вы хотите округлить до фиксированной частоты, используйте round.В противном случае DateOffset должно помочь вам найти ближайший день / месяц / год.После этого вы можете использовать groupby для кластеризации в этом столбце.

Я не совсем уверен, что вы подразумеваете под "соединением" строк, поскольку вы не предоставили и не взяли данные.В зависимости от этого могут быть лучшие решения.Это также зависит от того, существует ли максимальный размер какой-либо одной группы.

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