BG: Все данные взяты из базы данных, я передал их в pandas DataFrame. Я создал идентификатор, объединив несколько уникальных столбцов вместе. Конечная цель - выполнить конкатенацию строк в main_list. например,
1. id
2. item (item2 = item_group = item_name = item_value,item_name2 = item_value2, item3 = item_name = item_value)
Я пробовал линейный поиск, но производительность очень низкая - ~ 100 тыс. записей для каждого списка.
Итак, у меня есть основной список, который содержит набор элементов
1. id
2. item (this is my item to search,item2,item3,item4)
список поиска A / item_group список содержит (поэтому я сначала попытаюсь сопоставить item_group, чтобы увидеть, существует ли он в текущий список) Проблемы со списком поиска A заключаются в том, что item_group может содержать кратные item_name, поэтому для соответствия item_group мне нужны значения item_name, чтобы я мог искать в списке поиска B
1. item_group
2. item_name
3. id
список поиска B можно назвать списком под_элементов (тогда я сопоставлю имя_элемента, чтобы увидеть, существует ли он здесь)
1. item_name
2. item_value
3. id
Испытанные методы
Попытка создать словарный запас на основе 2-го списка для эффективного поиска, но по-прежнему имели проблемы с производительностью, потребовалось очень много времени, чтобы просто заполнить словарь Мышление выполнения соединений
Судя по изображению, объединение на основе идентификатора на самом деле не будет работать, потому что 1 идентификатор может содержать несколько элементов