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

如何在Pandas DataFrame中按条件筛选行并计算提取的value列均值

错误原因说明

  1. 变量名不匹配:你定义数据源字典的变量名为df,但转换为DataFrame时传入了未定义的df2,会直接触发变量未定义报错。
  2. 筛选逻辑不符合Pandas语法规则:Pandas的行列筛选需要区分行条件和列选择逻辑,你直接把行判断条件放到列选择列表中,会被解析为查找名称为布尔值的列,找不到对应列就会报错。

正确实现代码

import pandas as pd

# 构造测试数据集
data = {
    'category': ['retail', 'retail', 'airtime', 'electronic', 'retail', 'electronic', 
                 'retail', 'retail','airtime'],
    'default': [0, 1, 1, 1, 0, 1, 1, 1, 0],
    'year': [2011, 2013, 2014, 2015, 2016, 2017, 2018, 2010, 2009],
    'value': [6000, 6500, 3000, 1200, 3200, 4530, 2100, 1000, 3400]
}
df = pd.DataFrame(data)

# 筛选category为retail、且default等于1的行
filtered_df = df[(df['category'] == 'retail') & (df['default'] == 1)]
# 输出筛选后的完整数据
print(filtered_df)
# 计算筛选后value列的均值
value_mean = filtered_df['value'].mean()
print(f"筛选后value列的均值为:{value_mean}")

运行结果

筛选后的数据共3行:

索引categorydefaultyearvalue
1retail120136500
6retail120182100
7retail120101000

最终计算得到的value列均值为3200.0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:30:03