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

基于Python DataFrame按周(周一至周日)统计Top值时间段

按周一至周日周周期统计Sum排名靠前的姓名

代码实现

import pandas as pd

# 构造原始数据
df = pd.DataFrame({
    'Date': ['2022-12-01', '2022-12-01', '2022-12-03', '2022-12-04'],
    'Name': ['James', 'Tom', 'James', 'Adam'],
    'Sum': [10, 4, 5, 8]
})

# 转换日期格式并生成周起始日期(周一为每周第一天)
df['Date'] = pd.to_datetime(df['Date'])
df['周起始日期'] = df['Date'] - pd.to_timedelta(df['Date'].dt.weekday, unit='D')

# 按周和姓名分组求和,再按周内Sum降序排名
weekly_summary = df.groupby(['周起始日期', 'Name'])['Sum'].sum().reset_index()
weekly_summary['排名'] = weekly_summary.groupby('周起始日期')['Sum'].rank(ascending=False, method='min').astype(int)

# 排序后得到结果
final_result = weekly_summary.sort_values(['周起始日期', '排名']).reset_index(drop=True)
print(final_result)

中文预期输出

周起始日期姓名Sum排名
2022-11-28James151
2022-11-28Adam82
2022-11-28Tom43

说明:所有日期均归属到周一为起始的周周期内,先计算每个姓名在对应周的Sum总和,再按总和降序生成排名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:10:24