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

带条件的Groupby实现含0次occurrences的用户健身房到访频次均值统计

健身房到访均值统计解决方案

你当前使用的groupby.filter逻辑会直接剔除所有没有健身房到访记录的用户分组,是导致0次到访用户未被纳入统计、均值偏移的核心原因。可按照「单用户到访次数统计→分组计算均值」的两步逻辑实现需求:


具体代码实现

# 1. 新增标记列:单条ping记录是否匹配健身房坐标
df['gym_visit_flag'] = (df['Ping_coordinates'] == df['Local_gym_coordinates']).astype(int)

# 2. 按用户ID聚合,统计单用户总到访次数,同时保留用户的群体、地域属性
# 无到访记录的用户此处统计结果为0,不会被剔除
user_visit_stats = df.groupby(['ID', '用户所属群体', '所在地域'], as_index=False)['gym_visit_flag'].sum()

# 3. 按群体、地域分组,计算对应分组的用户平均到访次数
final_result = user_visit_stats.groupby(['用户所属群体', '所在地域'], as_index=False)['gym_visit_flag'].mean()

# 可选:修改列名匹配业务语义
final_result = final_result.rename(columns={'gym_visit_flag': '用户平均去健身房次数'})

如果你需要的是周人均到访次数,且原始数据的时间范围刚好是完整一周,上述代码可直接输出符合预期的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:24:04