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

如何用Pandas统计列中失败次数并避免无失败时的报错?

解决Pandas统计测试结果时无失败记录报错的问题

方法一:使用Series的get()方法(推荐)

value_counts()返回的是Pandas Series对象,用get()方法可以指定键不存在时的默认值,直接避免KeyError:

import pandas as pd
df = pd.read_csv('myfile.csv')
# 先一次性统计所有状态数量,避免重复计算
status_counts = df['Status'].value_counts()
# 存在'passed'就取对应值,不存在则返回0
pass_res = status_counts.get('passed', 0)
# 同理处理'failed'
fail_res = status_counts.get('failed', 0)

方法二:显式判断键是否存在

先检查目标状态是否在统计结果的索引中,再决定取值逻辑:

import pandas as pd
df = pd.read_csv('myfile.csv')
status_counts = df['Status'].value_counts()
pass_res = status_counts['passed'] if 'passed' in status_counts else 0
fail_res = status_counts['failed'] if 'failed' in status_counts else 0

原代码报错原因

当CSV中没有failed记录时,value_counts()的结果里不会包含failed这个索引,直接用['failed']访问会触发KeyError。以上两种方法都能规避这个问题,同时保证无对应状态时计数为0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:55:00