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

Pandas如何按周统计时间序列数据集内对应时段的事件发生数量

Pandas按周统计事件数量实现方案

前置准备

假设原始数据集名为df,包含两个核心字段:

  • 事件发生时间列(示例中列名用event_time,可替换为你的实际列名)
  • 事件标识列(每行对应1条独立事件,示例中列名用event_id,可替换为你的实际列名)

实现步骤

  1. 时间格式转换(若时间列已为datetime类型可直接跳过)
import pandas as pd
df['event_time'] = pd.to_datetime(df['event_time'])
  1. 按周重采样统计事件数
# 可根据周划分规则调整rule参数,W-MON代表以周一为周结束,W-SUN代表以周日为周结束
# label='left'代表取周区间的起始日期作为统计行的日期标识
weekly_df = df.resample(
    rule='W-MON',
    on='event_time',
    label='left',
    closed='left'
)['event_id'].count().reset_index()
  1. 调整输出格式匹配要求
# 重命名列
weekly_df.columns = ['Dates', 'Events']
# 调整日期为 日-月-年 格式
weekly_df['Dates'] = weekly_df['Dates'].dt.strftime('%d-%m-%Y')

# 若需要输出周区间格式(如"27-12-2015 - 02-01-2016")可替换为以下代码
# weekly_df['end_date'] = weekly_df['Dates'] + pd.Timedelta(days=6)
# weekly_df['Dates'] = weekly_df['Dates'].dt.strftime('%d-%m-%Y') + ' - ' + weekly_df['end_date'].dt.strftime('%d-%m-%Y')
# weekly_df = weekly_df[['Dates', 'Events']]

常用参数调整说明

  • 周起始规则调整:修改rule参数即可适配不同周统计标准:
    • W-MON:周统计区间为周二到下周一,符合国内部分场景统计习惯
    • W-SUN:周统计区间为周一到周日,欧美常用统计标准
  • 聚合逻辑调整:如果需要统计事件的其他指标(如求和、均值),把count()替换为对应聚合函数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:24:04