python - 来自同一列的一对行元素的出现次数
问题描述
我有以下数据(来自大约 20000 行的样本)
Date Time Transaction Item Year Month Day Weekday Hour
0 2016-10-30 2018-10-25 09:58:11 1 Bread 2016 10 30 6 9
1 2016-10-30 2018-10-25 10:05:34 2 Scandinavian 2016 10 30 6 10
2 2016-10-30 2018-10-25 10:05:34 2 Scandinavian 2016 10 30 6 10
3 2016-10-30 2018-10-25 10:07:57 3 Hot chocolate 2016 10 30 6 10
4 2016-10-30 2018-10-25 10:07:57 3 Jam 2016 10 30 6 10
5 2016-10-30 2018-10-25 10:07:57 3 Cookies 2016 10 30 6 10
6 2016-10-30 2018-10-25 10:08:41 4 Muffin 2016 10 30 6 10
7 2016-10-30 2018-10-25 10:13:03 5 Coffee 2016 10 30 6 10
8 2016-10-30 2018-10-25 10:13:03 5 Pastry 2016 10 30 6 10
9 2016-10-30 2018-10-25 10:13:03 5 Bread 2016 10 30 6 10
我正在尝试分析最常购买的两种商品。像面包和果酱或咖啡和面包。我有交易ID,所以我们可以分析这个属性。我想根据事务 id 找到所有可能对的完整出现次数。我如何实现这一目标?
解决方案
您可以对事务 ID 进行交叉连接,然后按不同的对分组,对按字母顺序排列的对进行重复数据删除。
cross = df.merge(df, on='Transaction')
cross[cross['Item_x']>cross['Item_y']].groupby(['Item_x','Item_y']).size()
推荐阅读
- swift - “不支持可变枚举案例” swift 5 错误
- r - 有没有比 fread() 更快的方法来读取大数据?
- javascript - 根据数字输入部署多个 div
- spring - Spring boot OneToOne 关系问题
- spring-boot - 尝试向外部端点发送后请求时过早关闭连接
- jquery - 如何创建在选择基本文本时复制的悬停文本?
- azure-devops - 部署池 - 拒绝访问 - 用户名需要管理权限才能执行操作
- node.js - 发送后请求后快速路由器重定向
- ios - 仅缓存版本 apple-mobile-web-app-capable 没有页面重新加载
- c# - 使用 streamreader 和 ReadToEndAsync() 从 System.Web.HttpContext.Current.Request.InputStream 解析 JSON