1.1.1 · 建议 30 分钟 · 满分 22
智能医疗系统中的业务数据处理流程设计
背景
某医疗机构计划引入智能医疗系统,以提升诊断效率和准确性。通过分析患者的历史数据,使用机器学习算法预测患者的健康风险,从而辅助医生进行诊断和治疗。为此,该机构需要设计一套全面的业务数据处理流程,确保数据处理的高效性和准确性,为人工智能模型提供可靠的输入数据。 数据集 patient_data.csv 包含字段:PatientID, Age, BMI, BloodPressure, Cholesterol, DaysInHospital。
工作任务
- 统计住院天数超过 7 天的患者数量及其占比(定义为高风险患者,反之为低风险患者)。
- 统计不同 BMI 区间中高风险患者的比例和患者数。BMI 区间:偏瘦(<18.5)、正常(18.5-23.9)、超重(24.0-27.9)、肥胖(≥28.0)。
- 统计不同年龄区间中高风险患者的比例和患者数。年龄区间:≤25、26-35、36-45、46-55、56-65、>65。
素材预览
patient_data.csv
PatientID,Age,BMI,BloodPressure,Cholesterol,DaysInHospital 1,62,38.3,150,211,2 2,65,34.1,118,243,8 3,82,22.8,114,177,8 ...
代码填空
import pandas as pd
import numpy as np
# 读取数据集 1分
data = # 1. 统计住院天数超过7天的患者数量及其占比
# 创建新列'RiskLevel',根据住院天数判断风险等级 3分
= (, '高风险患者', '低风险患者')
# 统计不同风险等级的患者数量 2分
risk_counts = data.
# 计算高风险患者占比 1分
high_risk_ratio = risk_counts['高风险患者'] /
# 计算低风险患者占比 1分
low_risk_ratio = risk_counts['低风险患者'] /
# 输出结果
print("高风险患者数量:", risk_counts['高风险患者'])
print("低风险患者数量:", risk_counts['低风险患者'])
print("高风险患者占比:", high_risk_ratio)
print("低风险患者占比:", low_risk_ratio)# 2. 统计不同BMI区间中高风险患者的比例和统计不同BMI区间中的患者数
# 定义BMI区间和标签
bmi_bins = [0, 18.5, 24, 28, np.inf]
bmi_labels = ['偏瘦', '正常', '超重', '肥胖']
# 根据BMI值划分指定区间 4分
data['BMIRange'] = (, , , right=False) # 使用左闭右开区间
# 计算每个BMI区间中高风险患者的比例 2分
bmi_risk_rate = ()['RiskLevel'].apply(lambda x: (x == '高风险患者').mean())
# 统计每个BMI区间的患者数量 1分
bmi_patient_count = data
# 输出结果
print("BMI区间中高风险患者的比例和患者数:")
print(bmi_risk_rate)
print(bmi_patient_count)# 3. 统计不同年龄区间中高风险患者的比例和统计不同年龄区间中的患者数
# 定义年龄区间和标签
age_bins = [0, 26, 36, 46, 56, 66, np.inf]
age_labels = ['≤25岁', '26-35岁', '36-45岁', '46-55岁', '56-65岁', '>65岁']
# 根据年龄值划分指定区间 4分
data['AgeRange'] = (, , , right=False) # 使用左闭右开区间
# 计算每个年龄区间中高风险患者的比例 2分
age_risk_rate = ()['RiskLevel'].apply(lambda x: (x == '高风险患者').mean())
# 统计每个年龄区间的患者数量 1分
age_patient_count = data
# 输出结果
print("年龄区间中高风险患者的比例和患者数:")
print(age_risk_rate)
print(age_patient_count)