You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将长表转换为指定格式宽表以适配Apriori算法使用需求

长表转适配Apriori的宽表实现方案

使用Python pandas库即可快速完成转换,核心逻辑是先对同id下的商品生成组内序号,再做透视表转换:

实现代码

import pandas as pd

# 1. 读入你的长表数据,此处为样例构造,你可替换为pd.read_csv等读取自己数据的代码
df = pd.DataFrame({
    'id': [1, 2, 1, 3, 2, 6, 6],
    'item': ['tea', 'butter', 'milk', 'apples', 'milk', 'wine', 'tea']
})

# 2. 给同一id下的商品生成自增序号,作为宽表的列名
df['col_idx'] = df.groupby('id').cumcount() + 1

# 3. 透视生成目标宽表
wide_df = df.pivot(index='id', columns='col_idx', values='item').reset_index()

# 可选:如果后续Apriori处理需要把空值替换为空字符串,打开下行注释即可
# wide_df = wide_df.fillna('')

后续适配Apriori处理

如果需要直接生成可输入Apriori算法的购物篮列表,在上述代码后补充以下代码即可:

# 生成不含id、过滤空值的购物篮二维列表
baskets = wide_df.drop(columns=['id']).apply(lambda row: row.dropna().tolist(), axis=1).tolist()

输出的baskets可直接传入apyori、mlxtend等库的Apriori接口使用。

内容的提问来源于stack exchange,提问作者David Jopo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:15:07