pandas数据框架中的值组合

2024-05-15 22:20:37 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的熊猫数据框:

       Item          Support_Count
0      BREAD              4
1      MILK               4
2      DIAPER             4
3      BEER               3

我将如何从第1列“Item”中生成2和3组项的所有可能唯一组合。

示例(2个项目集): (面包、牛奶) (面包,尿布),(面包,啤酒),(牛奶,尿布)等

示例(3个项目集): (面包,牛奶,尿布),(面包,牛奶,啤酒),(牛奶,尿布,啤酒)等


Tags: 数据项目示例supportcountitem牛奶啤酒
1条回答
网友
1楼 · 发布于 2024-05-15 22:20:37

您可以使用itertools库:

import itertools
list(itertools.combinations(df['Item'], 2))

[('BREAD', 'MILK'),
 ('BREAD', 'DIAPER'),
 ('BREAD', 'BEER'),
 ('MILK', 'DIAPER'),
 ('MILK', 'BEER'),
 ('DIAPER', 'BEER')]

list(itertools.combinations(df['Item'], 3))

[('BREAD', 'MILK', 'DIAPER'),
 ('BREAD', 'MILK', 'BEER'),
 ('BREAD', 'DIAPER', 'BEER'),
 ('MILK', 'DIAPER', 'BEER')]

注意:组合的数量增长非常快,因此生成所有可能的组合可能效率不高。如果还没有实现,我建议查看apriori algorithm实现。

相关问题 更多 >