Pandas, определить пару наиболее часто встречающихся значений

Дмитрйи

Новичок
Пользователь
Дек 5, 2021
2
0
1
Добрый день! Подскажите пожалуйста, хотя бы в какую сторону смотреть для решения задачи:
"Какая пара различных товаров чаще всего встречается в различных покупках?"
Я преобразовал данные: левый столбец - покупки, справа от него - товары, которые в одной покупке.
Что делать дальше, не соображу. Как определить пару самых часто встречающихся в одной покупке товаров?
Как составить пары? Как определить что именно эта пара наиболее частовстречающаяся?
Буду рад даже маленькой подсказке, спасибо!)

2021-12-04_17-34-34.png
 

Дмитрйи

Новичок
Пользователь
Дек 5, 2021
2
0
1
Чуть не забыл решение написать) Готовых методов не нашёл, сделал по тупуому, циклами.
P.S. Извиняюсь за название переменных)

Python:
# Только уникальные покупки
var_unique = list(work5['InvoiceNo'].unique())
descr = []
buy = {}
name = var[0][0]
for n_buy in var_unique:
    work6 = work5[work5['InvoiceNo'] == n_buy]
    buy[n_buy] = list(work6['Description'].unique())


# Раскрываем комбинаторные итераторы   
new = {}
for i in buy:
    new[i] = itr.combinations(buy[i], 2)
    
# Раскрываем комбинаторные итераторы
neww = {}
for i in new:
    test = []
    for j in new[i]:
        test.append(j)
        test.append((j[1], j[0]))
    neww[i] = test
    
# Создадим полный список уникальных пар
pairs = []
for i in neww:
    for j in neww[i]:
        pairs.append(j)
        
pairs
for i in pairs:
    if pairs.count(i) > 5:
        print('Пара: ', i)
        print('Встречается столько раз: ', pairs.count(i))
 

Форум IT Специалистов