← 返回题库
中级

实现设备维护期间告警抑制

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    alerts_csv = open_url(____).read()
    devs_csv = open_url(____).read()
    alerts = pd.read_csv(StringIO(____))
    devs = pd.read_csv(StringIO(____))
    MAINTENANCE_DEVICES = set(____)
    MAINTENANCE_WINDOWS = [
        {'____':'____','____':____,'____':____,'____':'____'},
    ]
    def in_maintenance(____):
        if device_id in MAINTENANCE_DEVICES:
            for w in MAINTENANCE_WINDOWS:
                if w['____'] == device_id and w['____'] <= alert_ts <= w['____']:
                    return True, '____'+w['____']
        return False, '____'
    print(____)
    for _, row in alerts.iterrows():
        suppressed, reason = in_maintenance(row['____'], float(____))
        print("____"+str(____)+"____"+row['____']+"____"+str(____)+"____"+reason)

示例

输入
solve()
期望输出
Maintenance suppression:
  id=1 SOIL-A03: suppressed=True maintenance_window:calibration
  id=2 FERT-A01: suppressed=False no_maintenance
  id=3 WS-001: suppressed=False no_maintenance
  id=4 PEST-A01: suppressed=False no_maintenance
  id=5 SOIL-B02: suppressed=False no_maintenance
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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