У меня есть pandas dataframe, который выглядит следующим образом:
Client 1_act 2_act 3_act 4_act 5_act 6_act ...
1 hiking swimming skating jumping climbing eating
2 eating hiking climbing exploring
3 hiking exercising
4 hiking screaming yelling hopping swimming
...
Каждая строка имеет только уникальные действия и может иметь МНОГИЕ столбцы с именем #_act (новые столбцы также могут быть добавлены в любое время в качестве клиентасообщает о новой деятельности). В каждом ряду есть хотя бы пара (ни у кого нет менее 2 занятий в ряду). Новые значения активности также могут быть добавлены в любое время.
Я пытаюсь найти способ вернуть наиболее распространенную пару действий. Таким образом, желаемый результат будет выглядеть следующим образом:
Pair Qty
(hiking, swimming) 2
(hiking, skating) 1
(hiking, jumping) 1
(hiking, climbing) 2
(hiking, eating) 2
(swimming, skating) 1
(swimming, jumping) 1
(swimming, climbing) 1
(swimming, eating) 1
(skating, jumping) 1
(skating, climbing) 1
(skating, eating) 1
(jumping, climbing) 1
(climbing, eating) 2
(eating, exploring) 1
(hiking, exercising) 1
(hiking, screaming) 1
(hiking, yelling) 1
(hiking, hopping) 1
...
Приведенный выше вывод является примером вывода всех возможных пар в каждой строке по всем их столбцам в этом образце набора данных. Если пара повторяется в последующих строках, это должно добавить к количеству, а если новая пара встречается в последующих строках, она должна быть добавлена в столбец пар как новая строка.
Цель этого состоит в том, чтобыПосмотрите, какие виды деятельности являются наиболее распространенными среди всех клиентов. Любая помощь будет принята с благодарностью! Спасибо !!