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

基于UUID聚合Pandas DataFrame:合并行并处理时间与数值列

Pandas 按UUID聚合数据的实现方案

需求说明

  • 基于UUID对DataFrame分组,将同一UUID的多行记录合并为一行
  • 开始时间取分组内的最早值
  • 结束时间取分组内的最晚值
  • 其余所有数值列执行求和运算

代码实现

首先确保时间列是datetime类型(若原始数据未转换):

import pandas as pd

# 转换时间列格式(按需执行)
df['开始时间'] = pd.to_datetime(df['开始时间'])
df['结束时间'] = pd.to_datetime(df['结束时间'])

然后定义聚合规则并执行分组聚合:

# 初始化聚合规则字典
agg_rules = {
    '开始时间': 'min',
    '结束时间': 'max'
}

# 自动识别数值列,添加求和规则
for col in df.columns:
    if col not in ['UUID', '开始时间', '结束时间'] and df[col].dtype in ('int64', 'float64'):
        agg_rules[col] = 'sum'

# 分组聚合并重置索引
result_df = df.groupby('UUID').agg(agg_rules).reset_index()

说明

  • 先转换时间列格式是为了保证min/max能正确计算时间早晚
  • 自动遍历列添加求和规则,避免手动指定所有数值列,适配不同结构的数据集

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:06:27