dataframe - 使用数据框 pyspark 生成矩阵并填充数据
问题描述
我需要从数据帧生成一个 34x34 矩阵,我正在使用 pyspark 来完成这个
以下是我目前拥有的样本数据集
custid numbertimesvistied day pagevisited
1111 2 06102019 flightticket
1111 1 06102019 menu
1111 2 06102019 booking
1111 6 06102019 cancel
1111 2 06102019 flightticket
我期待上述数据的矩阵如下
flightticket menu booking cancel
flightticket 0 2 0 0
menu 0 0 2 0
booking 0 0 0 6
cancel 2 0 0 0
我尝试使用 pandas 然后遍历每一行并比较和计算,但是无法取得进展
for index, row in df.iterrows():
if(df['custid']!=df['custid'].shift()):
then compute a columval here and assign it to respective matrix value
目前没有问题,但是我希望就实现它的最佳方式获得意见
解决方案
我会将第一个事件与下一个事件进行比较,直到我到达客户事件的结尾,然后这些事件的累积总和将与客户保持一致
例子:
客户页面_活动机票菜单预订取消
1111 机票 0 2 0 0
1111 菜单 0 0 2 0
1111 预订 0 0 0 6
1111 取消 2 0 0 0
并且需要遍历所有客户
推荐阅读
- sql - 查询表列分析数据的脚本
- c# - Visual Studio 中的 C# 问题,无法单击按钮以正确执行行
- python - 如何快速将字符串转换为浮动
- docker - 无法从我的 Docker 容器 ping Windows 主机
- android - java.net.BindException:绑定失败:使用套接字时 EACCES(权限被拒绝)
- java - 休眠查询语法异常:org.hibernate.hql.ast.QuerySyntaxException:意外令牌')'
- unit-testing - 未能遵循 GAS 的基本 QUnit 教程
- watchkit - 覆盖 Apple Watch 模拟器的状态栏显示时间(使用 xcrun simctl status_bar)
- three.js - 保持 Three.js 纹理的方面
- laravel - 在 .blade 中导入 npm 包