如何用Pandas找出数据集中所有行里最常见的n大小元素组合?
购物车元素组合统计问题
我的数据
假设我有如下代表独立购物车的DataFrame:
import pandas as pd pd.DataFrame({'0':['banana','apple','orange','milk'],'1':['apple','milk','bread','cheese'],'2':['bread','cheese','banana','eggs']})
输出的DataFrame结构如下:
0 1 2 0 banana apple bread 1 apple milk cheese 2 orange bread banana 3 milk cheese eggs
需求说明
我想要生成每个购物车中最常见的n大小元素组合列表。例如,当n=2时,最常见的组合为banana, bread和milk, cheese,预期输出格式如下:
pairing count banana, bread 2 milk, cheese 2 apple, bread 1 ... orange, banana 1
说明:组合不考虑顺序,即banana, bread与bread, banana视为同一组合
已尝试方法
我曾将所有唯一值存入列表,遍历每行并用itertools暴力生成组合,但这种方法既不优雅也不符合Python风格,且未能正常运行。
内容的提问来源于stack exchange,提问作者bismo
相关产品推荐
相关产品推荐

