Добрый день. Дан список уникальных id продукции и словарь пар id продукции, которые покупают вместе.
Как из них сделать DataFrame с уникальными id продукции и id рекомендованных для покупки
import pandas as pd # список уникальных id продукции product_ids = [1, 2, 3, 4, 5] # словарь пар id продукции, которые покупают вместе product_pairs = { (1, 2), (1, 3), (2, 3), (4, 5) } # создаем DataFrame со всеми возможными парами продукции df = pd.DataFrame(columns=['Product1', 'Product2']) for i, id1 in enumerate(product_ids): for id2 in product_ids[i+1:]: df = df.append({'Product1': id1, 'Product2': id2}, ignore_index=True) # добавляем столбец Recommended, где будут перечислены id рекомендованных продуктов df['Recommended'] = df.apply(lambda row: (row['Product2'], row['Product1']) in product_pairs, axis=1) # убираем повторяющиеся строки, где рекомендована продукция в обе стороны df = df.loc[~((df['Product2'], df['Product1']).isin(product_pairs))] print(df)