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

如何按dataframe的指定列分组计算另一列的平均值?

实现方案

你可以直接用Pandas内置的groupby分组聚合方法实现,该方法底层做了C语言级别的优化,处理百万级甚至千万行数据效率都很高,远高于手动遍历计算的方案。

核心代码

假设你的原始数据表命名为df,只需一行代码即可得到目标结果:

result = df.groupby('Company', as_index=False)['Price'].mean()

参数说明:

  • as_index=False:指定Company字段不作为结果表的索引,保持列结构和你需要的输出格式一致
  • 调用mean()方法即对分组后的Price列计算平均值,默认自动跳过空值,不需要额外做异常值过滤

完整可运行示例

你可以直接运行以下代码验证效果:

import pandas as pd

# 构造你给出的示例数据
data = {
    "Company": ["A", "B", "A", "C"],
    "Price": [50, 75, 80, 10]
}
df = pd.DataFrame(data)

# 计算分组平均定价
result = df.groupby('Company', as_index=False)['Price'].mean()
print(result)

运行后输出结果完全匹配你的需求:

CompanyPrice
A65
B75
C10

拓展提示

如果你的定价列存在空值,希望空值按0参与计算,可以在分组前先做填充处理:

df['Price'] = df['Price'].fillna(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:24:09