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

使用Pandas按天分组统计打卡机器每日各设备首次事件数量

原有代码错误说明

  1. 语法报错是因为括号不匹配,你写的语句多了1个多余的右括号,即使修正语法后逻辑也不符合需求
  2. 仅用date.day分组会把不同年份/月份的同一天数据分到同一组,存在逻辑漏洞
  3. 没有按设备维度去重,直接统计计数是全量打卡次数,不是每台设备每日首次打卡的总和

完整实现方案

第一步:标记每台设备每日首次打卡记录

# 先按打卡时间升序排序,保证每组最早的记录排在最前
my_df = my_df.sort_values('date', ascending=True)
# 按【打卡日期+设备号】分组,每组第一条记录标记为1,其余非首次标记为0
my_df['flag'] = my_df.groupby([my_df['date'].dt.date, 'machine']).cumcount().eq(0).astype(int)

运行后即可得到带flag标记的数据集,和你给出的预期标记结果完全一致。

第二步:按天统计每日首次打卡总次数

# 按打卡日期分组,对flag字段求和即为当日首次打卡总次数
daily_stat = my_df.groupby(my_df['date'].dt.date)['flag'].sum().reset_index(name='count_flag')

运行后daily_stat就是你要的统计结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 15:24:02