Найти - Пользователи
Полная версия: Формирование DataFrame с помощью списка и словоря
Начало » Python для новичков » Формирование DataFrame с помощью списка и словоря
1
Fine
Добрый день. Дан список уникальных id продукции и словарь пар id продукции, которые покупают вместе.
Как из них сделать DataFrame с уникальными id продукции и id рекомендованных для покупки
pyser
 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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB