考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

在构建用户流失模型时,你需要构建一个特征:“用户在过去 7 天内的平均活跃时长”。数据 df 包含 User_ID, Date, Duration,且已经按 User_ID 和 Date 排序。下列哪种 Pandas 操作是正确且效率最高的实现方式?
A. df.groupby('User_ID')['Duration'].rolling(window=7).mean()
B. df.groupby('User_ID')['Duration'].rolling(window='7D', on='Date').mean()
C. df.rolling(window=7)['Duration'].mean()
D. df.groupby('User_ID').apply(lambda x: x.set_index('Date')['Duration'].rolling('7D').mean())
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

• A 选项 window=7 代表“7行”,而不是“7天”。如果用户某天没有记录,7行可能跨越几个月。 • B 选项直接在 GroupBy 后使用基于时间偏移量('7D')的 Rolling,这是最准确的。 • C 选项没有分组,会混淆不同用户的数据。 • D 选项逻辑正确,但 apply 效率低于原生的 GroupBy Rolling 方法。 • 注:此题主要考察对“基于行数”和“基于时间”窗口的区别理解。