← 返回题库
初级

统计上报数据有效率

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    payloads_csv = open_url("https://data.zuihe.com/dbd/ms-iot/state_01/raw_payloads.csv").read()
    payloads = pd.read_csv(StringIO(payloads_csv))
    total = len(payloads); valid = payloads['is_valid'].sum()
    print(f"总上报: {total}, 有效: {valid}, 无效: {total-valid}")
    print(f"有效率: {valid/total:.1%}")
    print("错误类型分布:")
    err_dist = payloads[payloads['is_valid']==0]['error_type'].value_counts()
    for etype, cnt in err_dist.items(): print(f"  {etype}: {cnt}")
    print("各设备有效率:")
    for did, grp in payloads.groupby('device_id'):
        rate = grp['is_valid'].mean()
        print(f"  {did}: {rate:.1%}")

示例

输入
solve()
期望输出
总上报: 30, 有效: 24, 无效: 6
有效率: 80.0%
错误类型分布:
  out_of_range: 2
  missing_field: 1
  unknown_device: 1
  wrong_type: 1
  replay: 1
各设备有效率:
  DEV001: 71.4%
  DEV002: 75.0%
  DEV003: 100.0%
  DEV004: 0.0%
  DEV005: 100.0%
  DEV007: 100.0%
  DEV008: 0.0%
  DEV009: 100.0%
  DEV099: 0.0%
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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