使用dataframe pyspark生成矩阵并填充数据

使用dataframe pyspark生成矩阵并填充数据,dataframe,matrix,pyspark,using,Dataframe,Matrix,Pyspark,Using,我需要从dataframe生成一个34x34矩阵,我正在使用pyspark来实现这一点 下面是我目前拥有的样本数据集 custid numbertimesvistied day pagevisited 1111 2 06102019 flightticket 1111 1 06102019 menu 1111

我需要从dataframe生成一个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 0

1111菜单0 0 2 0

1111预订06

1111取消2 0 0 0


需要迭代所有客户

您能解释一下从第一个数据帧到矩阵的算法吗?