Я запускаю цикл for внутри цикла for, для каждого идентификатора пользователя он проверяет, выполнено ли условие или нет, а затем копирует окончательную форму, состоящую из числа кликов в другом пустом фрейме данных.
for i in unique_users:
for j in col_baf:
n_1 = data_merge_baf_map_2[data_merge_baf_map_2["user_id"] == i].reset_index(drop = True)
df_1 = pd.DataFrame()
df_1 = n_1["reg_timestamp"] + pd.to_timedelta(10, unit='min')
n_2 = n_1[n_1[j] < df_1].reset_index(drop = True)
dframee_baf_2[j][i] = n_2.shape[0]
Этот частичный цикл занимает слишком много времени для выполнения. более 3 часов
уникальных пользователей - это список из 35534 пользователей, а col_baf - это список столбцов, которые он просматривает в фрейме данных data_merge_baf_map_2.