{
  "schemaVersion": 1,
  "id": "1.1.2",
  "title": "智能农业系统中的业务数据采集和处理流程设计",
  "durationMinutes": 30,
  "category": "业务数据处理与结果分析",
  "scenario": "某农业公司计划引入智能农业系统，通过安装在农田中的各种传感器（如温度传感器、湿度传感器、土壤传感器等）实时监控农田环境，收集数据并进行分析，以优化作物管理和提高产量。为此，公司需要设计并实现一套数据采集和处理流程，确保数据的高效采集、传输和处理，为智能分析提供可靠的数据支持。\n\n我们提供一个传感器数据集（sensor_data.csv），包含以下字段：\n\nSensorID: 传感器ID\n\nTimestamp: 时间戳\n\nSensorType: 传感器类型（Temperature温度, Humidity湿度, SoilMoisture土壤水分, SoilPH土壤酸碱度, Light光传感器）\n\nValue: 传感器读数\n\nLocation: 传感器安装位置：\n\n你作为智能农业系统的人工智能训练师，根据提供的sensor_data.csv数据集和Python代码框架（1.1.2.ipynb），完成以下数据的采集和处理任务，为智能农业系统提供可靠的数据支持。请按照以下要求完成任务，确保结果准确并保存相应的截图。\n\n（1）传感器数据统计：\n\n通过运行Python代码（1.1.2.ipynb）分别统计每种传感器的数据数量和平均值。将上述统计结果截图以JPG的格式保存，命名为“1.1.2-1”。\n\n（2）按位置统计温度和湿度数据：\n\n通过运行Python代码（1.1.2.ipynb）统计每个位置的温度和湿度传感器数据的平均值。将上述统计结果截图以JPG的格式保存，命名为“1.1.2-2”。\n\n（3）数据清洗和异常值处理：\n\n通过运行Python代码（1.1.2.ipynb）对数据进行清洗，处理异常值。具体要求如下：\n\n将明显异常的温度（< -10 或 > 50）和湿度（< 0 或 > 100）数据进行标记并统计。\n\n对缺失值使用前面数据的值（如果前面值没有采用后面数据的值）进行填补。\n\n将清洗后的数据保存为新文件cleaned_sensor_data.csv。",
  "skillRequirements": "（1）能结合人工智能技术要求和业务特征，设计整套业务数据采集流程\n\n（2）能结合人工智能技术要求和业务特征，设计整套业务数据处理流程",
  "qualityIndicators": "（1）设计出的业务数据底层逻辑清晰，有效合理。\n\n（2）数据完整性：每个传感器数据记录数应完整，缺失值尽量少。\n\n（3）数据准确性：传感器数据应合理，与参考数据偏差小。",
  "tasks": [
    {
      "id": "code-fill",
      "type": "code-fill",
      "title": "补全代码任务",
      "instructions": "依据公开题面和附件补全代码空位；仅检查完成度与提交格式，不公开标准内容。",
      "codeBlocks": [
        "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n# 读取数据集 2分\ndata = _____________",
        "# 1. 传感器数据统计\n# 对传感器类型进行分组，并计算每个组的数据数量和平均值 3分\nsensor_stats = _____________(_____________)['Value']._____________\n# 输出结果\nprint(\"传感器数据数量和平均值:\")\nprint(sensor_stats)",
        "# 2. 按位置统计温度和湿度数据\n# 筛选出温度和湿度数据，然后按位置和传感器类型分组，计算每个组的平均值 2分\nlocation_stats = data[data['SensorType']._____________._____________['Value'].mean().unstack()\n# 输出结果\nprint(\"每个位置的温度和湿度数据平均值:\")\nprint(location_stats)",
        "# 3. 数据清洗和异常值处理\n# 标记异常值 3分\ndata['is_abnormal'] = _____________(\n    ((_____________) & ((data['Value'] < -10) | (data['Value'] > 50))) |\n    ((_____________) & ((data['Value'] < 0) | (data['Value'] > 100))),\n    True, False\n)\n# 输出异常值数量 2分\nprint(\"异常值数量:\", data['is_abnormal']._____________)\n# 填补缺失值\n# 使用前向填充和后向填充的方法填补缺失值 4分\ndata['Value']._____________(_____________, inplace=True)\ndata['Value']._____________(_____________, inplace=True)\n# 保存清洗后的数据\n# 删除用于标记异常值的列，并将清洗后的数据保存到新的CSV文件中 4分\ncleaned_data = _____________(_____________=['is_abnormal'])\n_____________('cleaned_sensor_data.csv', _____________)\nprint(\"数据清洗完成，已保存为 'cleaned_sensor_data.csv'\")"
      ],
      "blanks": [
        {
          "id": "blank-1",
          "block": 1,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-2",
          "block": 2,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-3",
          "block": 2,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-4",
          "block": 2,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-5",
          "block": 3,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-6",
          "block": 3,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-7",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-8",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-9",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-10",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-11",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-12",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-13",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-14",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-15",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-16",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-17",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-18",
          "block": 4,
          "placeholder": "_____________",
          "gradingMode": "completion-and-format-only"
        }
      ]
    },
    {
      "id": "1-1-response",
      "type": "rubric-response",
      "title": "数据处理结果分析",
      "instructions": "说明处理过程、结果证据和质量判断。",
      "sections": [
        {
          "id": "response",
          "label": "作答内容"
        }
      ],
      "rubric": [
        {
          "id": "criterion-1",
          "label": "处理流程完整且逻辑清晰",
          "weight": 25
        },
        {
          "id": "criterion-2",
          "label": "关键结果有附件或数据证据",
          "weight": 25
        },
        {
          "id": "criterion-3",
          "label": "结果符合技能要求与质量指标",
          "weight": 25
        },
        {
          "id": "criterion-4",
          "label": "能够解释异常、限制和改进方向",
          "weight": 25
        }
      ]
    },
    {
      "id": "artifact-submission",
      "type": "artifact-submission",
      "title": "选择结果文件",
      "instructions": "文件仅在本机选择并校验，不上传，也不持久化文件内容。",
      "items": [
        {
          "id": "artifact-1",
          "label": "提交文件：cleaned_sensor_data.csv",
          "filename": "cleaned_sensor_data.csv",
          "extensions": [
            ".csv"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-2",
          "label": "提交文件：1.1.2-1.jpg",
          "filename": "1.1.2-1.jpg",
          "extensions": [
            ".jpg"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-3",
          "label": "提交文件：1.1.2-2.jpg",
          "filename": "1.1.2-2.jpg",
          "extensions": [
            ".jpg"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        }
      ]
    }
  ],
  "attachments": [
    {
      "name": "1.1.2.ipynb",
      "url": "assets/1.1.2/1.1.2.ipynb",
      "size": 2553,
      "sha256": "69afda06398915500317ac16e9ffb4d0c2948424ca1bca1986d8465b3efda0c1",
      "mime": "application/x-ipynb+json"
    },
    {
      "name": "1.1.2.md",
      "url": "assets/1.1.2/1.1.2.md",
      "size": 2869,
      "sha256": "6553ea1f2bf1ba920a7574bbc7526b07624d4441be119c8f833737f0629ba115",
      "mime": "text/markdown"
    },
    {
      "name": "sensor_data.csv",
      "url": "assets/1.1.2/sensor_data.csv",
      "size": 604795,
      "sha256": "c9d9b70f406bd014023ff96e8ad94afd217353954dbf3b648dd9a879b91d9bf4",
      "mime": "text/csv"
    }
  ],
  "grading": {
    "mode": "completion-and-format-only"
  },
  "review": {
    "status": "approved",
    "notice": "由公开题面通用生成，未使用答案树。",
    "conflicts": []
  },
  "contentVersion": "5e0235cd6e833550"
}
