Мегамёрдж
Сегодня наткнулся на космический функционал и не могу им не поделиться. Всем кто работает в питоне с данными мастхэв. Есть такой метод в пандасе merge_asof это умный join который позволяет задавать параметры объединения двух таблиц. Казалось бы джойны, да что мы там не видели. А вот нет. Тут просто бомба. Вот как выглядит код создающий датасет для построения воронки с этой анигиляторной пушкой
merged = pd.merge_asof( left=save_task[['user_id_y', 'timestamp']], right=select_task[['user_id_y', 'timestamp']].rename(columns={'timestamp': 'open_time'}), by='user_id_y', left_on='timestamp', right_on='open_time', direction='backward', tolerance=180 )
Остаётся только создать столбец с разницой времени и всё! А если нужна воронка с 3-4 событиями - не проблема, просто проводим джойны в несколько итераций.
Можно задать ключи объединения, группировку перед объединением, переименовать столбцы и задать расстояние между ключами (Окно конверсии!!!!!!!) Идеален для работы со временем, порядковыми данными, timedelta.
Не благодарите.