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

按分组与年份计算行均值:如何生成分组年度平均列

按分组计算年度平均值的解决方案

以下是两种常用工具的实现方法,均可实现按Year和Group分组后,为每一行添加对应分组的Full列年度平均值:

Python(Pandas)

使用transform方法可直接生成与原数据行数一致的分组均值列,无需额外合并操作:

import pandas as pd

# 模拟你的数据结构
data = {
    "Year": [2022, 2022, 2022, 2023, 2023, 2023],
    "Group": ["Group 1", "Group 2", "Group 3", "Group 1", "Group 2", "Group 3"],
    "Full": [1, 5, 6, 4, 3, 4],
    "Month": ["January", "January", "January", "December", "December", "December"]
}
df = pd.DataFrame(data)

# 添加年度平均值列
df["Annual average"] = df.groupby(["Year", "Group"])["Full"].transform("mean")

print(df)

运行后同一Year和Group的所有行,Annual average数值完全相同。

SQL

使用窗口函数OVER(PARTITION BY)实现分组均值计算,直接在查询结果中生成目标列:

SELECT 
    Year,
    Group,
    Full,
    Month,
    AVG(Full) OVER(PARTITION BY Year, Group) AS "Annual average"
FROM your_table_name;

该语句会为每一行匹配其所属Year和Group分组的Full列平均值,确保同一分组同一年份的行数值一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:29:57