基于wd_patients和wd_appointments筛选完成治疗且仅1次有效就诊的男性患者
筛选符合条件的患者实现方案
我们基于两个DataFrame(wd_patients患者数据集、wd_appointments预约数据集),按要求筛选出已完成治疗、仅有1次有效就诊的男性患者,具体实现步骤如下:
1. 先筛选男性且已完成治疗的患者
从患者数据集中过滤出性别为男性、且已完成治疗的人群:
import pandas as pd # 筛选男性+已完成治疗的患者(假设Gender字段值为'Male',TreatmentCompleted为布尔值True表示已完成) filtered_patients = wd_patients[(wd_patients['Gender'] == 'Male') & (wd_patients['TreatmentCompleted'] == True)]
注:如果
TreatmentCompleted的取值是字符串(比如'Yes'/'No'),请把判断条件改成wd_patients['TreatmentCompleted'] == 'Yes'
2. 统计仅1次有效就诊的患者
从预约数据集中,只保留状态为Attended的有效就诊记录,再按患者ID分组统计次数,筛选出次数为1的患者:
# 过滤有效就诊记录(仅Status为Attended的算有效) valid_visits = wd_appointments[wd_appointments['Status'] == 'Attended'] # 按患者ID分组统计有效就诊次数 visit_counts = valid_visits.groupby('PatientID').size().reset_index(name='ValidVisitCount') # 筛选出仅1次有效就诊的患者 one_visit_patients = visit_counts[visit_counts['ValidVisitCount'] == 1]
3. 合并结果得到最终符合条件的患者
将前两步的结果按患者ID做内连接,得到同时满足两个条件的患者:
# 合并两个筛选结果,仅保留同时满足条件的记录 final_result = pd.merge(filtered_patients, one_visit_patients, on='PatientID', how='inner')
内容的提问来源于stack exchange,提问作者KINJAL PADHIYAR
相关产品推荐
相关产品推荐

