我需要根据另一个数据框中的值创建一个分类变量。考虑表 1,其中包含医院就诊和患者 ID。请注意,患者可以多次访问医院:+----------+------------+| visit_id | patient_id |+----------+------------+| 10 | 1 || 20 | 1 || 50 | 2 || 100 | 3 || 110 | 3 |+----------+------------+我需要添加一个带有 1 或 0 的新字段,指示患者在医院就诊期间是否接受了阿司匹林,如表 2 所示:+----------+------------+---------------+| visit_id | patient_id | medication |+----------+------------+---------------+| 10 | 1 | aspirin || 10 | 1 | ibuprofin || 20 | 1 | codine || 50 | 2 | aspirin || 100 | 3 | ibuprofin || 110 | 3 | acetaminophin || 110 | 3 | vicodin |+----------+------------+---------------+您可以再次看到多个级别 - 您可以从医生那里获得不止一种药物,对吗?当然,这只是一个例子。我试图合并表(内连接),这有效......tab1 = pd.merge(tab1, tab2, on=['visit_id','patient_id'])tab1['aspirin_index'] = np.where(tab1['medication'].str.contains('aspirin', flags=re.IGNORECASE, regex=True, na=False),1,0)...但后来我得到了同时服用阿司匹林和布洛芬的患者 1 的重复结果。我只需要知道他们是否至少服用过一次阿司匹林。+----------+------------+---------------+| visit_id | patient_id | aspirin_index |+----------+------------+---------------+| 10 | 1 | 1 || 10 | 1 | 0 |+----------+------------+---------------+我需要到这里...与表 1 相同的形状,但只是使用新索引。+----------+------------+---------------+| visit_id | patient_id | aspirin_index |+----------+------------+---------------+| 10 | 1 | 1 || 20 | 1 | 0 || 50 | 2 | 1 || 100 | 3 | 0 || 110 | 3 | 0 |+----------+------------+---------------+
添加回答
举报
0/150
提交
取消