在Python中无需聚合函数创建Pandas透视表或转置以分析浏览序列
网页浏览路径统计实现方案
我来帮你搞定这个网页浏览路径的统计需求!针对你提供的数据集,我们可以通过分组拼接路径再计数的方式,轻松得到各类路径组合的客户数量。
完整代码实现
import pandas as pd # 你的原始数据集 df = pd.DataFrame({"CustId" : [111,111,222,333,333,333], "Page": ["A","B","A","A","B","C"] }) # 按客户分组,拼接浏览路径 customer_paths = df.groupby('CustId')['Page'].apply('|'.join).reset_index(name='BrowsePath') # 统计各路径对应的客户数量 path_customer_count = customer_paths['BrowsePath'].value_counts().reset_index(name='CustomerCount') # 打印结果 print(path_customer_count)
代码细节说明
- 分组拼接路径:
groupby('CustId')['Page'].apply('|'.join)会按照客户ID分组,把每个客户的浏览页面按你已经排好的顺序用|连接成完整路径,比如客户111的路径就是A|B,客户333的路径是A|B|C。 - 转换为标准DataFrame:
reset_index(name='BrowsePath')把分组后的结果转成常规的表格形式,方便后续统计。 - 统计路径客户数:
value_counts()直接统计每条路径对应的客户数量,最后重置索引并给计数列起个直观的名字CustomerCount。
运行结果
执行代码后会输出如下统计结果:
BrowsePath CustomerCount 0 A|B|C 1 1 A|B 1 2 A 1
如果之后你想做更深入的分析,比如统计不同长度路径的占比、高频起始/结束页面,都可以基于这个结果继续拓展。
内容的提问来源于stack exchange,提问作者tezzaaa
相关产品推荐
相关产品推荐

