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

Pandas技术问题:如何筛选TEST_STATUS为PASS TEST的数据并分组

问题解决方法

首先,你之前的代码data_useless.groupby(['TEST_STATUS'] == 'PASS TEST')报错的原因是:['TEST_STATUS'] == 'PASS TEST'是将列名字符串列表与字符串做比较,得到的是布尔值False,Pandas会把这个False当成分组键,后续操作自然找不到对应的分组,所以抛出Key Error: FALSE。

要实现你给出的SQL效果,有两种常用方法:

方法一:先筛选再分组(匹配SQL逻辑)

先筛选出TEST_STATUS为"PASS TEST"的数据,再按TEST_STATUS分组,之后可以用get_group获取该分组的所有数据:

# 筛选+分组
pass_group = data_useless[data_useless['TEST_STATUS'] == 'PASS TEST'].groupby('TEST_STATUS')
# 获取分组内的全部数据
pass_data = pass_group.get_group('PASS TEST')
print(pass_data)

方法二:直接筛选(更高效,因为分组后仅一个组)

你的SQL语句里GROUP BY TEST_STATUS没有聚合操作,本质就是获取所有符合WHERE条件的行,所以可以直接跳过分组,直接筛选:

pass_data = data_useless[data_useless['TEST_STATUS'] == 'PASS TEST']
print(pass_data)

另外补充:你之前统计数量的代码里,count_values()大概率是笔误,正确的统计分组数量写法通常是:

data_useless[['TEST_TYPE', 'TEST_STATUS']].groupby('TEST_STATUS').count()
# 或者更简洁的
data_useless['TEST_STATUS'].value_counts()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:24:20