У меня есть два фрейма данных. Один очень большой и содержит более 4 миллионов строк данных, а другой - около 26 КБ. Я пытаюсь создать словарь, где ключи - это строки меньшего фрейма данных. Этот фрейм данных (df1) содержит подстроки или неполные имена, а больший фрейм данных (df2) содержит полные имена / строки, и я хочу проверить, находится ли подстрока из df1 в строках в df2, а затем создать свой dict.
Независимо от того, что я пытаюсь, мой код занимает много времени, и я продолжаю искать более быстрые способы итерации через df.
org_dict={}
for rowi in df1.itertuples():
part = rowi.part_name
full_list = []
for rowj in df2.itertuples():
if part in rowj.full_name:
full_list.append(full_name)
org_dict[part]=full_list
* 1005 более 1 миллиона строк?
Пример данных:
df1
part_name
0 aaa
1 bb
2 856
3 cool
4 man
5 a0
df2
full_name
0 aaa35688d
1 coolbbd
2 8564578
3 coolaaa
4 man4857684
5 a03567
ожидаемый результат:
{'aaa':['aaa35688d','coolaaa'],
'bb':['coolbbd'],
'856':['8564578']
...}
эт c