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

使用Pandas计算各产品类别平均售价时的分组错误问题

解决按产品类别计算平均售价的问题

你的代码核心问题是搞反了分组逻辑:你用groupby(["Sale Price"])是按售价列分组,完全偏离了需求——我们需要按产品类别列分组,再对售价列计算均值。

修正后的代码

先确认你表格里产品类别对应的列名(比如常见的Product Category,如果你的列名不同,直接替换即可),然后修改average_price函数:

import pandas as pd

def read_data():
    df = pd.read_csv('sales_dataset.csv')
    # 可以加这行查看所有列名,避免列名写错
    print("表格列名:", df.columns.tolist())
    print(df)
    return df

def average_price():
    df = read_data()
    # 替换成你实际的产品类别列名,比如"Product Category"
    category_avg_price = df.groupby(["Product Category"])["Sale Price"].mean().reset_index()
    print("各产品类别平均售价:")
    print(category_avg_price)
    return category_avg_price

average_price()

关键逻辑说明

  • groupby(["Product Category"]):按产品类别把数据分成不同的组,每个组对应一个类别下的所有销售记录
  • ["Sale Price"].mean():对每个分组里的售价列计算平均值,只针对数值类型的售价列运算,不会触碰字符串类型的类别列
  • reset_index():把分组后的类别索引转换成普通列,让输出的表格格式更直观,方便查看

另外注意:你之前单独调用了read_data(),这会导致表格被读取两次,删掉那行单独的调用,让average_price()里调用一次即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:03:16