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

按phase分组计算duration列平均值的数据处理需求

按Phase分组计算Duration的平均值

原始数据

id      phase duration
19743   D17   1.66            
19743   D06   2.25    
19743   C17   2.3         
19743   D06   4.44    

期望结果

id      phase duration
   19743    D17   1.66            
   19743    D06   3.35    
   19743    C17   2.3         

实现方案

1. SQL 实现

通过GROUP BY对id和phase分组,用AVG()计算平均值,搭配ROUND()可保留指定小数位数:

SELECT 
    id,
    phase,
    ROUND(AVG(duration), 2) AS duration
FROM 
    your_table_name
GROUP BY 
    id, phase;

2. Python Pandas 实现

利用groupby分组后计算均值,再重置索引恢复表格结构:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'id': [19743, 19743, 19743, 19743],
    'phase': ['D17', 'D06', 'C17', 'D06'],
    'duration': [1.66, 2.25, 2.3, 4.44]
})

# 分组计算均值并格式化小数
result = df.groupby(['id', 'phase'])['duration'].mean().round(2).reset_index()
print(result)

3. Excel 实现

  • 数据透视表法

    1. 选中数据区域,点击「插入」→「数据透视表」
    2. 将id、phase拖入「行」区域,duration拖入「值」区域
    3. 点击值区域的duration字段,选择「值字段设置」→ 改为「平均值」,并设置小数位数为2
  • 公式法
    在空白单元格输入以下公式(假设数据在A2:C5区域),下拉填充后删除重复项即可:

    =AVERAGEIFS($C$2:$C$5, $A$2:$A$5, $A2, $B$2:$B$5, $B2)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:01:05