数据集
ID Product
1 A
1 B
2 A
3 A
3 C
3 D
4 A
4 B
5 A
5 C
5 D
.....
我们的目标是,不管字符串值的数量是多少,按ID对产品进行最频繁的组合。
这里的预期结果是:
[A, C, D] 2
[A, B] 2
[A, C] 2
......
像那样但有工作价值
import itertools
(df.groupby('ID').Product.agg(lambda x: list(set(itertools.combinations(x,**?**))))
.explode().str.join('-').value_counts())