Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 1, 2023 15:43:21

Fine
Зарегистрирован: 2023-04-01
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Формирование DataFrame с помощью списка и словоря

Добрый день. Дан список уникальных id продукции и словарь пар id продукции, которые покупают вместе.
Как из них сделать DataFrame с уникальными id продукции и id рекомендованных для покупки

Офлайн

#2 Апрель 4, 2023 09:01:45

pyser
Зарегистрирован: 2022-09-01
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Формирование DataFrame с помощью списка и словоря

 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version