# 定义正常范围
normal_ranges = {
'HR': (60, 100),
'O2Sat': (95, 100),
'Temp': (36, 37.5),
'SBP': (90, 120),
'MAP': (70, 110),
'DBP': (60, 80),
'Resp': (12, 20),
'EtCO2': (35, 45),
'BaseExcess': (-2, 2),
'HCO3': (22, 28),
'FiO2': (0.21, 1.0),
'PaCO2': (35, 45),
'pH': (7.35, 7.45),
'SaO2': (95, 100),
'AST': (0, 40),
'BUN': (6, 24),
'Alkalinephos': (30, 120),
'Calcium': (8.5, 10.2),
'Chloride': (96, 106),
'Creatinine': (0.6, 1.2),
'Bilirubin_direct': (0, 0.3),
'Glucose': (70, 110),
'Lactate': (0.5, 2.2),
'Magnesium': (1.6, 2.6),
'Phosphate': (2.5, 4.5),
'Potassium': (3.5, 5.0),
'Bilirubin_total': (0.2, 1.2),
'TroponinI': (0, 0.04),
'Hct': (36, 48),
'Hgb': (12, 16),
'PTT': (25, 35),
'WBC': (4, 10),
'Fibrinogen': (200, 400),
'Platelets': (150, 450)
}
# 创建一个新的DataFrame来存储是否异常的状态
abnormal_df = pd.DataFrame(index=df.index, columns=df.columns)
for col in df.columns:
if col in normal_ranges:
lower, upper = normal_ranges[col]
abnormal_df[col] = (df[col] < lower) | (df[col] > upper)
else:
abnormal_df[col] = False # 非数值型字段标记为不异常
# 将异常状态转换为整数类型(0为正常,1为异常)
abnormal_df = abnormal_df.astype(int)
# 将异常信息与原始特征合并
features = pd.concat([df, abnormal_df], axis=1)
MIMIC-III 数据集MIMIC-III 数据集是一个公开的重症监护病房(ICU)数据库,包含了患者在ICU期间的各种生理指标、实验室检查结果和其他相关信息。以下是对该数据集中各个字段的详细解释:
生命体征
...1: 这个字段的具体含义不明确,可能是占位符或未使用的字段。
Hour: 数据记录的时间(小时)。
HR: 心率(Heart Rate),单位为次/分钟,反映心脏的搏动频率。
O2Sat: 血氧饱和度(Oxygen Saturation),通常为百分比,表示血红蛋白携带氧气的比例。
Temp: 体温(Temperature),通常以摄氏度(°C)或华氏度(°F)记录。
SBP: 收缩压(Systolic Blood Pressure),单位为毫米汞柱(mmHg),表示心脏收缩时的血压。
MAP: 平均动脉压(Mean Arterial Pressure),单位为mmHg,反映全身平均血压。
DBP: 舒张压(Diastolic Blood Pressure),单位为mmHg,表示心脏舒张时的血压。
Resp: 呼吸频率(Respiratory Rate),单位为次/分钟,反映患者的呼吸状况。
气体交换和血液气体分析
EtCO2: 呼出末潮二氧化碳浓度(End-Tidal CO2),反映呼吸和循环的有效性。
FiO2: 吸入氧气分数(Fraction of Inspired Oxygen),表示患者吸入的氧气浓度。
BaseExcess: 血液中的碱余(Base Excess),反映酸碱平衡状态。
HCO3: 碳酸氢盐(HCO3-),用于评估酸碱平衡。
PaCO2: 动脉二氧化碳分压(Partial Pressure of CO2 in Arterial Blood),单位为毫米汞柱(mmHg)。
pH: 血液的酸碱度,正常范围约为7.35-7.45。
SaO2: 血氧饱和度(Oxygen Saturation in Arterial Blood),可能与O2Sat相同或有细微差异。
电解质和生化指标
AST: 谷丙转氨酶(Aspartate Aminotransferase),肝功能指标。
BUN: 血尿素氮(Blood Urea Nitrogen),肾功能指标。
Alkalinephos: 碱性磷酸酶(Alkaline Phosphatase),肝脏和骨骼功能指标。
Calcium: 钙(Ca),电解质,参与神经肌肉功能和血液凝固。
Chloride: 氯离子(Cl-),电解质,参与维持酸碱平衡。
Creatinine: 肾小球滤过率的指标,反映肾功能。
Bilirubin_direct: 直接胆红素,评估肝脏和胆道功能。
Glucose: 血糖(Glucose),单位为毫克/分升(mg/dL)或毫摩尔/升(mmol/L)。
Lactate:乳酸(Lactate),在缺氧或休克时升高。
Magnesium: 镁(Mg),电解质,参与神经肌肉功能和代谢。
Phosphate: 磷酸盐(Phosphate),参与骨骼代谢和能量代谢。
Potassium: 钾(K+),电解质,影响心脏功能。
血液相关指标
Bilirubin_total: 总胆红素,评估肝功能和溶血情况。
TroponinI: 心肌特异性标志物,升高可能提示心肌损伤。
Hct: 血细胞压积(Hematocrit),反映红细胞比例,评估贫血。
Hgb: 血红蛋白(Hemoglobin),评估贫血程度。
PTT: 活化部分凝血酶时间(Activated Partial Thromboplastin Time),评估内在凝血途径。
WBC: 白细胞计数(White Blood Cell Count),评估感染或炎症。
Fibrinogen: 纤维蛋白原,参与血液凝固。
Platelets: 血小板计数,评估凝血功能。
其他信息
Age: 患者的年龄。
Gender: 患者的性别。
Unit1和Unit2: 可能表示患者所在的病房或医疗单位。
HospAdmTime: 住院时间。
ICULOS: ICU住院时间长度(Length of Stay)。
SepsisLabel: 脓毒症标签,表示患者是否患有脓毒症。
Patient_ID: 患者的唯一标识符,用于数据链接和分析。
这些字段涵盖了患者的生命体征、实验室检查结果、用药信息和诊断信息,支持多种医疗研究,如疾病预测、进展分析和治疗效果评估。了解每个字段的具体含义对于正确使用和分析数据至关重要,特别是在特征选择和模型构建时,必须明确每个指标的临床意义和潜在影响。