{
  "schemaVersion": 1,
  "id": "2.1.4",
  "title": "医疗研究数据清洗和标注设计",
  "durationMinutes": 20,
  "category": "数据清洗与标注",
  "scenario": "随着医学技术的进步和医疗资源的丰富，医疗研究在改善患者治疗效果、提升医疗服务质量方面起到了重要作用。研究人员通过分析大量患者的治疗数据，能够评估不同治疗方案的效果，发现潜在的健康问题，并提出针对性的治疗建议。这不仅可以帮助患者获得更好的治疗效果，还能为医疗机构优化资源配置、提升服务水平提供重要依据。\n\n现提供一份医疗研究数据集，训练集样本数据一共5441条记录。请补全2.1.4.ipynb代码，完成下面的数据预处理任务：\n\n1、加载数据集，查看表的数据类型，表结构和显示每一列的空缺值数量；\n\n2、将“就诊日期”和“诊断日期”规范为“yyyy-mm-dd”格式，并将“病人ID”列名改为“患者ID”，显示修改后的表结构；\n\n3、增加“诊断延迟”（诊断日期-就诊日期）和“病程”（当前日期-诊断日期）两列，删除不合理的数据（如负数，年龄为几百岁等）；\n\n4、检查数据集中的重复值并删除所有重复值，并记录删除的行数；\n\n5、对数据段[年龄，体重，身高]进行归一化处理；\n\n6、统计不同疾病类型的治疗结果分布，并画出柱状图；\n\n7、分析年龄和疾病严重程度的关系，绘制出散点图；\n\n8、保存处理后的数据，并命名为：2.1.4_cleaned_data.csv，保存到考生文件夹；\n\n9、制定数据清洗和数据标注规范，将答案写到答题卷文件中，答题卷文件命名为“2.1.4.docx”，保存到考生文件夹；\n\n10、将以上代码以及运行结果，以html格式保存并命名为2.1.4.html，保存到考生文件夹，考生文件夹命名为“准考证号+身份证后6位”。",
  "skillRequirements": "（1）能够结合人工智能技术要求和业务特征，设计数据清洗和标注流程；\n\n（2）能够结合人工智能技术要求和业务特征，制定数据清洗和标注规范。",
  "qualityIndicators": "（1）深入理解业务，训练符合业务需求的模。",
  "tasks": [
    {
      "id": "code-fill",
      "type": "code-fill",
      "title": "补全代码任务",
      "instructions": "依据公开题面和附件补全代码空位；仅检查完成度与提交格式，不公开标准内容。",
      "codeBlocks": [
        "import pandas as pd\n\n# 加载数据集并指定编码为gbk\ndata = _________\n\n# 查看数据类型\nprint(data.dtypes)\n# 查看表结构基本信息\nprint(_________)\n\n# 显示每一列的空缺值数量\nprint(data.isnull().sum())\n\n# 规范日期格式\ndata['就诊日期'] = pd.to_datetime(data['就诊日期'])\ndata['诊断日期'] = pd.to_datetime(data['诊断日期'])\n\n# 修改列名\n_________(_________, inplace=True)\n\n# 查看修改后的表结构\nprint(data.head())\n\nfrom datetime import datetime\n\n# 增加诊断延迟和病程列\ndata['诊断延迟'] = _________.dt.days\ndata['病程'] = (datetime(2024, 9, 1) - data['诊断日期']).dt.days\n\n# 删除不合理的数据\ndata = _________[(_________ >= 0) & (_________ > 0) & (_________ < 120)]\n\n# 查看修改后的数据\nprint(data.describe())\n\n# 删除重复值并记录删除的行数\ninitial_rows = data.shape[0]\n_________(inplace=True)\ndeleted_rows = initial_rows - data.shape[0]\n\nprint(f'删除的重复行数: {deleted_rows}')\n\nfrom sklearn.preprocessing import MinMaxScaler\n\n# 对需要归一化的列进行处理\nscaler = MinMaxScaler()\ncolumns_to_normalize = [_________]\ndata[columns_to_normalize] = _________\n\n# 查看归一化后的数据\nprint(data.head())\n\nimport matplotlib\nimport matplotlib.pyplot as plt\nimport matplotlib.font_manager as fm\n\n\n# 统计治疗结果分布\ntreatment_outcome_distribution = data.groupby('疾病类型')['治疗结果'].value_counts().unstack()\n\n# 设置中文字体\n# 如果把素材下载到自己电脑本地运行的话，需要根据你的系统调整为下面的字体路径\n# font_path = 'C:/Windows/Fonts/simhei.ttf'  \n\n# 在平台中运行则指定为下面的字体路径\nfont_path = '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc'\nmatplotlib.rcParams['font.sans-serif'] = ['WenQuanYi Zen Hei']  # 替换为实际字体名\nmatplotlib.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题\nmy_font = fm.FontProperties(fname=font_path)\n\n# 绘制柱状图\n_________(_________, stacked=True)\nplt.title('不同疾病类型的治疗结果分布', fontproperties=my_font)\nplt.xlabel('疾病类型', fontproperties=my_font)\nplt.ylabel('治疗结果数量', fontproperties=my_font)\nplt.xticks(fontproperties=my_font)  # 设置x轴刻度标签的字体\nplt.yticks(fontproperties=my_font)  # 设置y轴刻度标签的字体\nplt.legend(prop=my_font)  # 设置图例字体\nplt.show()\n\n# 绘制散点图\n_________(_________, _________)\nplt.title('年龄和疾病严重程度的关系', fontproperties=my_font)\nplt.xlabel('年龄', fontproperties=my_font)\nplt.ylabel('疾病严重程度', fontproperties=my_font)\nplt.xticks(fontproperties=my_font)  # 设置x轴刻度标签的字体\nplt.yticks(fontproperties=my_font)  # 设置y轴刻度标签的字体\nplt.legend(prop=my_font)  # 设置图例字体\nplt.show()\n\n# 保存处理后得数据\noutput_path = '2.1.4_cleaned_data.csv'\n_________(_________, index=False)"
      ],
      "blanks": [
        {
          "id": "blank-1",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-2",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-3",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-4",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-5",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-6",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-7",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-8",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-9",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-10",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-11",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-12",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-13",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-14",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-15",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-16",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-17",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-18",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-19",
          "block": 1,
          "placeholder": "_________",
          "gradingMode": "completion-and-format-only"
        }
      ]
    },
    {
      "id": "2-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": "提交文件：2.1.4_cleaned_data.csv",
          "filename": "2.1.4_cleaned_data.csv",
          "extensions": [
            ".csv"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-2",
          "label": "提交文件：2.1.4.docx",
          "filename": "2.1.4.docx",
          "extensions": [
            ".docx"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-3",
          "label": "提交文件：2.1.4.html",
          "filename": "2.1.4.html",
          "extensions": [
            ".html"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        }
      ]
    }
  ],
  "attachments": [
    {
      "name": "2.1.4.docx",
      "url": "assets/2.1.4/2.1.4.docx",
      "size": 14762,
      "sha256": "7e8b33aab97b71f48db5687360f33532bd33d81b8f654b8b5c8a0e64f8454910",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    },
    {
      "name": "2.1.4.ipynb",
      "url": "assets/2.1.4/2.1.4.ipynb",
      "size": 4363,
      "sha256": "753bc448a4585c029f08e7b51f97736e0c0ff453956c95b1940e69804177dc1d",
      "mime": "application/x-ipynb+json"
    },
    {
      "name": "2.1.4.md",
      "url": "assets/2.1.4/2.1.4.md",
      "size": 2366,
      "sha256": "1d2f74936faca38d8e0f0e240fb8be022031c438c73c7faf13af115d71124725",
      "mime": "text/markdown"
    },
    {
      "name": "medical_data.csv",
      "url": "assets/2.1.4/medical_data.csv",
      "size": 684258,
      "sha256": "b2c3e63c379a0b5c7c6f8e01411616752f228c07141f525edaedea4f2e5f799d",
      "mime": "text/csv"
    }
  ],
  "grading": {
    "mode": "completion-and-format-only"
  },
  "review": {
    "status": "approved",
    "notice": "由公开题面通用生成，未使用答案树。",
    "conflicts": []
  },
  "contentVersion": "2d94ea596fc37e3d"
}
