初级
按事件类型过滤设备事件
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd, json
events_csv = open_url("https://data.zuihe.com/dbd/ms-iot/state_05/device_events.csv").read()
events = pd.read_csv(StringIO(events_csv))
print("Event type distribution:")
for etype, grp in events.groupby('event_type'):
print(" " + etype + ": " + str(len(grp)))
alarm_events = events[events['event_type']=='AlarmTriggered']
print("AlarmTriggered (" + str(len(alarm_events)) + "):")
for _, ev in alarm_events.iterrows():
payload = json.loads(ev['payload'])
print(" " + ev['device_id'] + " v" + str(ev['version']) + ": " + str(payload.get('metric')) + "=" + str(payload.get('value')) + " threshold=" + str(payload.get('threshold')))
示例
输入
solve()
期望输出
Event type distribution: AlarmTriggered: 2 DeviceOffline: 2 DeviceOnline: 6 ThresholdChanged: 2 AlarmTriggered (2): DEV004 v3: vibration_rms=18.7 threshold=15.0 DEV008 v2: pressure=2500.1 threshold=2000.0
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199