Следующий цикл for работает, но это занимает много времени. Датафрейм df_customers имеет около 1,5 миллиона записей, а dict_customers - около 500 000 строк.
for i in range(len(df_customers)):
df_customers.iloc[i, j] = dict_customers[df_customers.iloc[i,k]]
Мой вопрос: как ускорить цикл for?
Dataframe df_customers содержит функции клиента, о. Пользовательский ИД. Один клиент имеет несколько строк (поэтому не уникален для каждой строки).
Словарь dict_customers содержит уникальные идентификаторы клиентов (ключи) и количество посещений на клиента (значения).
Я хотел бы добавить новый столбец k в Dataframe df_customers, который содержит количество посещений, извлеченных из словаря.
Я решил эту проблему с помощью цикла for с помощью df_customers:
я строки
j - новая колонка с посещениями
k - существующий столбец с идентификаторами клиентов
Примечание: идентификатор клиента начинается с 100 000.
Я попробовал следующее понимание:
df_customers.j-column = [dict_customers[df_custumers.k-column[i]] for i in range(len(df_customers))]
Письменный код понимания не работает. Сохраняет все значения 0 (как инициализировано)
Ожидаемый результат заключается в том, что для каждого CustomerID посещения клиентов из словаря сохраняются в новом столбце df_customers k.