Я только изучаю Python и у меня есть вопрос об интеграции фреймов данных по времени.Например, скажем, у меня есть 2 отдельных фрейма данных с нерегулярными временными интервалами, но сгруппированных по study_id.Я хотел бы объединить строки, которые приходят в течение 2 часов друг от друга.
Ранее я использовал для этого пакет data.table в R.Пример этого кода ниже.
df_new <- df1[df2, on="Study_ID", allow.cartesian=T][difftime(`date_df1`, `date_df2`, units="hours") <= 2 & difftime(`date_df1`, `date_df2`, units="hours") >= - 2]
Этот код затем связывает каждый экземпляр, где есть даты, которые находятся в пределах 2 часов от каждого для каждого фрейма данных.Я смотрю, чтобы увидеть, есть ли подобный код для Python?В идеале я хотел бы объединить эти строки, чтобы найти максимальное значение, которое возникает между измерениями, которые происходят в течение 2 часов до или после измерений.
Есть мысли?Спасибо!
Редактировать: пример фреймов данных
ID Date HeartRate
1 4/1/2019 04:13 56
1 4/2/2019 05:30 45
1 4/3/2019 22:10 61
2 4/3/2019 23:13 62
2 4/5/2019 15:10 67
df2
ID Date Weight
1 4/1/2019 06:10 112
1 4/2/2019 02:30 114
1 4/3/2019 21:10 112.5
2 4/3/2019 23:10 113
2 4/4/2019 00:00 114
Output (this is what I would love!)
ID Date(blood pressure) HeartRate Date(weight) Weight
1 4/1/2019 4:13 56 4/1/2019 06:10 112
1 4/3/2019 22:10 61 4/3/2019 21:10 112.5
2 4/3/2019 23:13 62 4/3/2019 23:10 113
2 4/3/2019 23:13 62 4/4/2019 00:00 114
В этом примере вторая строка в каждом фрейме просто удаляется, так как эти измерения не отбрасывают пару в течение 2 часов.Но вторая-последняя строка, показанная в df1, повторяется, потому что в df2 есть 2 случая, которые находятся в пределах 2 часов.