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

如何将pandas DataFrame日期按上周五至周五分组并以对应周五为周名

pandas按自定义周周期(上周五至当周周五)分组的实现方案

核心逻辑

你的需求本质是给每个日期匹配对应周期的结束日(当周周五),用该结束日作为分组标签,直接基于pandas的日期属性计算即可,无需额外依赖。

实现步骤

  1. 首先确保日期列转为datetime格式
import pandas as pd

# 替换df和date为你实际的DataFrame名和日期列名
df['date'] = pd.to_datetime(df['date'])
  1. 计算每个日期对应的周分组标签
    我们以周一=0、周五=4的weekday规则计算每个日期到最近的后续周五的偏移量,直接生成符合要求的分组标签:
# 计算逻辑:(目标周五编号 - 当前日期weekday + 7) %7 得到需要偏移的天数,避免出现负数
df['week_group'] = df['date'] + pd.to_timedelta((4 - df['date'].dt.weekday + 7) % 7, unit='D')
  1. 按生成的周标签分组统计即可
# 示例:统计每个周的记录数
week_stats = df.groupby('week_group').size()

规则适配说明

如果你的实际周期需要调整为「包含当周周五在内,向前数7天为一个周期」,只需将偏移逻辑改为向前找最近的周五即可:

df['week_group'] = df['date'] - pd.to_timedelta((df['date'].dt.weekday - 4 +7) %7, unit='D')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:57:04