我正在尝试计算用户在同一会话中查看页面的次数。
我从一个列出 user_ids 和他们访问过的页面 slug 的数据框开始:
user_id page_view_page_slug
1 slug1
1 slug2
1 slug3
1 slug4
2 slug5
2 slug3
2 slug2
2 slug1
Run Code Online (Sandbox Code Playgroud)
我想要得到的是一个数据透视表,它计算 slug 横截面的 user_ids
| . | 弹头1 | 弹头2 | 弹头3 | 弹头4 | 弹头5 |
|---|---|---|---|---|---|
| 弹头1 | 2 | 2 | 2 | 1 | 1 |
| 弹头2 | 2 | 2 | 2 | 1 | 1 |
| 弹头3 | 2 | 2 | 2 | 1 | 1 |
| 弹头4 | 1 | 1 | 1 | 1 | 0 |
| 弹头5 | 1 | 1 | 1 | 0 | 1 |
我意识到这将是我们看到 slug1 和 slug2 与 slug2 和 slug1 时反映的相同数据,但我想不出更好的方法。到目前为止我已经做了一个listagg
def listagg(df, grouping_idx):
return df.groupby(grouping_idx).agg(list)
new_df = …Run Code Online (Sandbox Code Playgroud)