2.1.4

请根据题目要求,在下方空白处填入正确的代码(点击 💡 按钮查看提示)

数据集说明
文件名:medical_data.csv
病人ID年龄性别地区就诊日期疾病类型诊断日期疾病严重程度治疗方案治疗结果药物名称药物分类用药剂量用药时长检查项目检查结果参考范围体重身高吸烟情况饮酒情况遗传病史
2041345重庆2023-4-4感冒2023-4-25不严重放疗病情稳定维生素C非处方药每周一次2个月尿常规105正常67184偶尔
2737538深圳2023-3-12哮喘2022-12-10不严重化疗康复维生素C非处方药10毫克1周血压140正常43140戒烟戒酒
9340627武汉2022-11-19哮喘2022-10-23不严重物理疗法好转对乙酰氨基酚保健品每日2次长期核磁共振175未知91199偶尔不清楚
5925587成都2022-10-30骨折2022-12-14中度放疗病情稳定阿莫西林处方药每周一次1周胆固醇157正常79165戒酒
5248824北京2022-9-22糖尿病2022-7-10不严重药物治疗好转青霉素中药饭后服用3天胆固醇70未知119158戒烟不清楚
6602134深圳2022-11-3高血压2023-4-16不严重化疗康复布洛芬保健品1片长期核磁共振126偏高115199偶尔
9703315上海2022-12-12糖尿病2022-9-8中度放疗好转青霉素处方药饭后服用1周血糖95正常75177戒烟
2159412杭州2022-8-7糖尿病2023-5-19轻度物理疗法病情稳定对乙酰氨基酚注射药每周一次长期尿常规91正常74194
2939473杭州2022-8-10感冒2022-7-22严重物理疗法好转对乙酰氨基酚注射药10毫克根据医嘱核磁共振70未知65145偶尔
6973086上海2023-4-14哮喘2023-4-7重度药物治疗恶化维生素C注射药10毫克3天胆固醇177正常108150偶尔不清楚
共 5440 条数据,仅展示前 10 条
代码填空
import pandas as pd # 加载数据集并指定编码为gbk data = # 查看数据类型 print(data.dtypes) # 查看结构信息 print() # 显示每一列的缺失值数量 print(data.isnull().sum()) # 规范日期格式 data['就诊日期'] = pd.to_datetime(data['就诊日期']) data['诊断日期'] = pd.to_datetime(data['诊断日期']) # 修改列名 (, inplace=True) # 查看修改后的表结构 print(data.head()) from datetime import datetime # 计算诊断延迟和就诊年龄 data['诊断延迟'] = .dt.days data['年龄'] = (datetime(2024, 9, 1) - data['就诊日期']).dt.days # 删除不符合逻辑的数据 data = [( >= 0) & ( > 0) & ( < 120)] # 查看修改后的数据 print(data.describe()) # 删除重复值并记录删除数量 initial_rows = data.shape[0] (inplace=True) deleted_rows = initial_rows - data.shape[0] print(f'删除重复行数: {deleted_rows}') from sklearn.preprocessing import MinMaxScaler # 对需要统一化的列进行归一化 scaler = MinMaxScaler() columns_to_normalize = [] data[columns_to_normalize] = # 查看归一化后的数据 print(data.head()) import matplotlib.pyplot as plt import matplotlib.font_manager as fm # 统计治疗效果分布 treatment_outcome_distribution = data.groupby('疾病类型')['治疗结果'].value_counts().unstack() # 设置中文字体 font_path = 'C:/Windows/Fonts/simhei.ttf' # 根据系统字体调整路径 my_font = fm.FontProperties(fname=font_path) # 绘制堆叠条形图 (, stacked=True) plt.title('不同疾病类型的治疗结果分布', fontproperties=my_font) plt.xlabel('疾病类型', fontproperties=my_font) plt.ylabel('治疗结果数量', fontproperties=my_font) plt.xticks(fontproperties=my_font) plt.yticks(fontproperties=my_font) plt.legend(prop=my_font) plt.show() # 绘制散点图 (, ) plt.title('年龄和疾病严重程度的关系', fontproperties=my_font) plt.xlabel('年龄', fontproperties=my_font) plt.ylabel('疾病严重程度', fontproperties=my_font) plt.xticks(fontproperties=my_font) plt.yticks(fontproperties=my_font) plt.legend(prop=my_font) plt.show() # 保存处理后的数据 output_path = '2.1.4_cleaned_data.csv' (, index=False)
提示: