为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据另一个数据框中的值在数据框中创建分类字段

如何根据另一个数据框中的值在数据框中创建分类字段

萧十郎 2021-11-02 15:01:56
我需要根据另一个数据框中的值创建一个分类变量。考虑表 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 |+----------+------------+---------------+
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信