You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas按ID和周分组计算日均网站访问次数均值?

解决方案

方法1:基于已生成的每日访问次数计算

你已经通过df.groupby(['ID','week','date']).agg({'date':['count']})得到了每日访问次数,接下来可以直接在这个结果上继续处理:

  1. 先扁平化多级列名并重置索引,避免后续操作的索引困扰:
daily_counts = df.groupby(['ID','week','date']).agg({'date':['count']})
# 把多级列名改成单级
daily_counts.columns = ['daily_visits']
daily_counts = daily_counts.reset_index()
  1. 按ID和week分组,计算每日访问次数的均值,得到每周的日均访问次数:
weekly_avg_daily = daily_counts.groupby(['ID','week'])['daily_visits'].mean().reset_index()

方法2:一步到位直接从原始DataFrame计算

可以省略中间生成每日结果的步骤,用链式调用直接完成计算,效率更高:

weekly_avg_daily = df.groupby(['ID','week','date'])['date'].count() \
                    .groupby(['ID','week']).mean() \
                    .reset_index(name='avg_daily_visits')

结果说明

最终的weekly_avg_daily是每个用户(ID)每周(week)一行的结构,其中avg_daily_visits(或你自定义的列名)代表该用户当周的日均访问次数——即该用户当周所有访问日期的单日访问次数的平均值,未访问的日期不会参与计算。

内容的提问来源于stack exchange,提问作者kri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 00:45:45