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

Python中如何合并时间序列同日期同ID数据并按值求和

同日期同ID重复条目按数值求和合并方案

核心处理逻辑:以date、id两个字段作为分组键,对所有需要合并的数值字段执行求和聚合,即可完成重复条目的合并。

Python Pandas 实现

这是最常用的本地结构化数据集处理方案,代码如下:

import pandas as pd

# 替换为你的数据读取逻辑,比如pd.read_csv("你的文件路径.csv")
df = pd.DataFrame({
    'date': ['d1', 'd1', 'd2', 'd2', 'd3', 'd3', 'd3'],
    'id': [1, 1, 1, 1, 1, 1, 2],
    'x': [100, 0, 80, 0, 110, 0, 70],
    'y': [0, 20, 0, 30, 0, 15, 60]
})

# 分组聚合:按date、id分组,对x、y字段求和
df_merged = df.groupby(['date', 'id'], as_index=False)[['x', 'y']].sum()

执行后得到的合并结果和预期完全一致:

date  id    x   y
0   d1   1  100  20
1   d2   1   80  30
2   d3   1  110  15
3   d3   2   70  60
  • 补充说明:如果数据集里存在其他需要合并的数值字段,直接将字段名追加到[['x', 'y']]的列表中即可;如果需要自动对所有数值类型字段求和,可以将聚合逻辑替换为df.groupby(['date', 'id'], as_index=False).sum(numeric_only=True),无需手动指定字段。

SQL 实现

如果数据存储在数据库中,直接使用分组聚合语句即可完成合并:

SELECT 
    date,
    id,
    SUM(x) AS x,
    SUM(y) AS y
FROM 你的表名
GROUP BY date, id;

R dplyr 实现

使用R语言生态处理的实现代码如下:

library(dplyr)

df_merged <- df %>%
  group_by(date, id) %>%
  summarise(
    x = sum(x),
    y = sum(y),
    .groups = "drop"
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:33:12