← 返回题库
初级

按错误类型聚类分析

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
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
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码