首页 > 解决方案 > 使用数据框 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

目前没有问题,但是我希望就实现它的最佳方式获得意见

标签: dataframematrixpysparkusing

解决方案


我会将第一个事件与下一个事件进行比较,直到我到达客户事件的结尾,然后这些事件的累积总和将与客户保持一致

例子:

客户页面_活动机票菜单预订取消

1111 机票 0 2 0 0

1111 菜单 0 0 2 0

1111 预订 0 0 0 6

1111 取消 2 0 0 0

并且需要遍历所有客户


推荐阅读