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

如何使用Python合并两个日期数据列表并按分组对同日期数值求和

按日期分组求和的正确实现方法

你之前采用networkx图算法的思路不适用于该场景,连通组件计算会自动对所有节点去重,既会删除重复日期也会删除重复数值,无法满足数值累加的需求。直接使用Python内置的字典工具即可简单实现需求。

实现逻辑

  • 用字典存储日期对应的累计值,以日期为键,累加数值为值
  • 遍历两个列表的所有元素,将字符串格式的数值转换为数字后累加到对应日期的计数上
  • 最终将字典转换为你需要的嵌套列表格式即可

代码示例

from collections import defaultdict

# 初始化累计字典,默认初始值为0
date_total = defaultdict(int)

# 遍历两个列表的所有元素(数据量极大时可分开遍历两个列表,避免合并占用额外内存)
for date, val in list1 + list2:
    date_total[date] += int(val)

# 转换为目标格式,数值保留字符串格式可执行str()转换
result = [[k, str(v)] for k, v in date_total.items()]

注:如果你的数值包含小数,将int()改为float()即可

输出示例

针对你给出的示例数据,运行后得到的结果为:
[['2021-05-24', '553720'], ['2021-05-10', '18820']]
符合你要求的输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:33:00