初级
按错误类型聚类分析
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
request_logs_csv = open_url("https://data.zuihe.com/dbd/ms-shop/state_06/request_logs.csv").read()
import pandas as pd
from io import StringIO
logs = pd.read_csv(StringIO(request_logs_csv))
def classify_error(code):
if code < 400: return 'success'
if code == 400: return '400_bad_request'
if code == 401: return '401_unauthorized'
if code == 403: return '403_forbidden'
if code == 404: return '404_not_found'
if code == 429: return '429_too_many'
if code >= 500: return '5xx_server_error'
return f'{code}_other'
logs['error_class'] = logs['status_code'].apply(classify_error)
print("错误类型分布:")
dist = logs.groupby('error_class').size().sort_values(ascending=False)
for cls, cnt in dist.items():
pct = cnt / len(logs) * 100
print(f" {cls}: {cnt} ({pct:.1f}%)")
print("按路径×错误类型:")
cross = logs[logs['error_class']!='success'].groupby(['path','error_class']).size()
print(cross.to_string())
示例
输入
solve()
期望输出
错误类型分布:
success: 43 (86.0%)
400_bad_request: 3 (6.0%)
401_unauthorized: 3 (6.0%)
5xx_server_error: 1 (2.0%)
按路径×错误类型:
path error_class
/api/v1/orders 401_unauthorized 1
/api/v1/payments 400_bad_request 1
/api/v1/search 400_bad_request 2
/api/v1/users 401_unauthorized 2
5xx_server_error 1
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199