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

Pandas处理CSV时按相同日期聚合Quantity列求和

报错原因

代码运行报错的核心是pandas.to_datetime()传入的format参数和实际日期格式不匹配:

  • 你写的%d-%m-%Y仅适配17-05-2022这类横杠分隔的日-月-年格式
  • 实际Date of purchase列的值是17 May 2022 at 5:40:20PM BST结构,包含月份缩写、12小时制时间、时区标识,和指定格式完全不符,自然解析失败。
完整实现方案

不需要处理冗余的时间、时区字段,直接按下面的代码即可完成日期提取、同日期销量聚合:

import pandas

# 读取CSV数据
data = pandas.read_csv("products_sold_history_data.csv")

# 提取纯日期部分:优先选容错率更高的截断方案,避免时区解析问题
# 先按" at "分割字符串取前半段,就是纯年月日文本,再转日期类型
data['purchase_date'] = pandas.to_datetime(
    data['Date of purchase'].str.split(" at ").str[0]
).dt.date

# 按日期分组,对Quantity列求和
date_quantity_sum = data.groupby('purchase_date', as_index=False)['Quantity'].sum()

# 输出验证结果
print(date_quantity_sum)
样例运行结果

基于你提供的测试数据,最终输出的聚合结果如下:

purchase_date  Quantity
0    2022-03-27         2
1    2022-03-28         2
2    2022-03-29         3
3    2022-04-02         2
4    2022-05-17         1

如果你的运行环境pandas版本较低,无法直接识别17 May 2022这类月份缩写的日期,给to_datetime加个dayfirst=True参数即可。

内容的提问来源于stack exchange,提问作者M Husnain Ali Nasir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:27:15