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

如何用Python Pandas计算满足多条件的车型平均价格?

修正后的代码及步骤说明

你的初始代码存在几个问题:

  • 函数内部代码没有缩进,这在Python里会直接触发语法错误
  • groupby里的'criteria'列不存在,你的需求里并没有这个字段
  • 没有先过滤符合条件的数据,直接分组会包含所有不符合要求的记录
  • mean是方法,需要加括号调用,且语法应为['price'].mean()(或.price.mean())

以下是完善后的代码,完全匹配你的需求:

import numpy as np 
import pandas as pd 

df = pd.read_csv("vehicles.csv")

def get_avg_prices():
    # 筛选符合所有条件的数据
    filtered_df = df[
        (df['manufacturer'].isin(['Honda', 'Toyota'])) &
        (df['condition'] == 'good') &
        (df['type'] == 'sedan')
    ]
    # 按厂商分组,计算对应车型的平均价格
    avg_prices = filtered_df.groupby('manufacturer')['price'].mean()
    return avg_prices

# 调用函数并打印结果
print(get_avg_prices())

代码说明:

  1. 数据筛选:用布尔索引组合三个条件,isin()用于匹配多个厂商值,&表示逻辑与(注意每个条件要单独加括号)
  2. 分组计算:只需要按manufacturer分组即可,因为你需要的是Honda和Toyota各自的平均价格,不需要多余的分组字段
  3. 结果格式:最终返回的是一个Series,索引是厂商名称,值是对应符合条件车型的平均价格;如果需要转换成DataFrame格式方便查看,可以在分组后添加.reset_index():
avg_prices = filtered_df.groupby('manufacturer')['price'].mean().reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:05:47