初级
统计上报数据有效率
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
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%
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199