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

如何在Pandas中按日期分组时间戳并统计每日销售总额?

按日期聚合销售总额的解决方案

核心思路

要合并同一天的记录并求和金额,关键是将datetime64类型的时间戳转换为日期维度,再通过groupby按日期分组聚合。

示例代码与步骤

假设你的DataFrame结构如下(包含时间戳、其他字段和金额列):

import pandas as pd

# 模拟你的数据
df = pd.DataFrame({
    'timestamp': pd.to_datetime(['2024-06-01 08:30', '2024-06-01 15:45', '2024-06-02 10:10']),
    'category': ['食品', '日用品', '食品'],
    'amount': [50, 80, 65]
})

1. 提取日期维度并分组求和

直接用日期作为分组键,无需新增列,一步完成聚合:

daily_summary = df.groupby(df['timestamp'].dt.date)['amount'].sum().reset_index(name='daily_total')

2. 查看结果

运行后得到每日销售总额:

date  daily_total
0  2024-06-01          130
1  2024-06-02           65

常见问题排查

如果之前groupby失败,大概率是这两个原因:

  • 未提取日期,直接用完整时间戳分组:每个时间戳都唯一,无法合并同一天记录
  • 未指定聚合列:直接df.groupby(...)会尝试对所有列聚合,可能因非数值列报错

扩展:保留其他字段的处理

如果需要保留日期外的其他字段(比如取当日第一条记录的分类),可以用agg指定不同列的聚合规则:

daily_summary = df.groupby(df['timestamp'].dt.date).agg(
    daily_total=('amount', 'sum'),
    first_category=('category', 'first')
).reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:40:31