如何修改pd.Grouper的周统计范围,实现周一开始正向统计而非反向?
你当前使用的W-MON频率默认将每周一作为一周的结束节点,因此分组标签是区间结束的周一,统计的是该日期往前7天的数据,和你需要的正向统计逻辑相反。
直接修改pd.Grouper的两个参数即可实现需求,调整后代码如下:
# 可选:先确保Date列是datetime格式 data['Date'] = pd.to_datetime(data['Date']) project_statuses = data.groupby(pd.Grouper(key="Date", freq="W-MON", label="left", closed="left")).size()
两个新增参数的作用说明:
closed='left':定义周区间为左闭右开,即[当周周一, 下周一),刚好覆盖当周周一到周日的全量数据label='left':使用区间左端点(当周周一)作为分组的展示标签,符合你期望的周起始日期标识要求
调整后输出结果和你给出的期望结果完全一致。
内容的提问来源于stack exchange,提问作者sam1code
相关产品推荐
相关产品推荐

