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

如何统计用户购买商品组合的出现次数并生成交叉计数矩阵

商品共现购买用户矩阵实现方法

你需要先基于同一个用户的购买记录生成两两商品对,再统计配对的去重用户数,就能得到目标矩阵,标准实现步骤如下:

  • 第一步:导入依赖
import pandas as pd
import numpy as np
  • 第二步:构造同用户的商品两两配对,通过自关联实现
# df为你的原始User-Product两列数据框
df_pairs = pd.merge(df, df, on='User', suffixes=('_row', '_col'))
  • 第三步:分组统计每对商品的共同购买用户数,转换为矩阵结构
co_matrix = df_pairs.groupby(['Product_row', 'Product_col'])['User'].nunique().unstack(fill_value=0)
  • 第四步:添加Total列(单商品总购买用户数,即矩阵对角线的数值)
co_matrix['Total'] = np.diag(co_matrix)
# 如果你需要和示例一致将对角线元素改为1,执行以下代码
np.fill_diagonal(co_matrix.values, 1)
  • 第五步:将0值替换为空值,匹配展示需求
co_matrix = co_matrix.replace(0, '')

补充说明:你提到商品数量较少、用户量级1万,该方法的计算开销完全在合理范围内,不会出现性能问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:27:01