В настоящее время я использую приведенный ниже код для l oop для набора данных из примерно 20K записей. Я создал генератор и использовал его в l oop. Это заняло около 10 минут. Есть ли более эффективный способ l oop для больших наборов данных в python? По сути, я пытаюсь определить, есть ли повторяющиеся значения в определенных столбцах для каждого уникального значения в столбце 'number' фрейма данных (df_ir), и если есть, то сохраняя общее количество дубликатов для каждого столбца в словарь d_cnt.
df_ir - это pandas фрейм данных с 120 тыс. записей df_ir ['number']. unique () = 20 тыс. записей
lst_tk = ['caller_id','opened_by','made_sla']
d_cnt = {}
for col in lst_tk:
d_cnt[col]=0
gen_inc = (i for i in df_ir['number'].unique())
for incnum in gen_inc:
for col in lst_tk:
if df_ir[df_ir['number']== incnum][col].value_counts().count()>1:
d_cnt[col]+=1