【发布时间】:2019-04-29 13:18:11
【问题描述】:
我有一个名为 df_drug_ref 的 df 药物参考(如下)。共有三种药物(A、B 和 C)。相应的 ATC 在第二列中列出。但是,如果患者在Drug_BIN_Id_Exclusion 列表中具有 DIN,则她/他将不会被视为使用该药物(即,药物 A 为 011235)。
Drug Drug_ATC_Id Drug_DIN_Id_Exclusion
A N123 [011235]
B B5234 [65413, 654351]
C N32456 []
以下是另一个名为df_row的df。这将捕获每个人分配的所有药物。每个人都有自己的People_Id。
People_Id Drug_ATC Drug_DIN A B C
1001 N123
1001 N123 011235
1001 N32456 011232
1001 N111
1002 B5234 65413
1002 B5234 654090
1002 N123 011235
如果在该行中,ATC 代码与药物参考匹配并且DIN 不包含在排除列表中。结果应该是:
People_Id Drug_ATC Drug_DIN A B C
1001 N123 1 0 0
1001 N123 011235 0 0 0
1001 N32456 011232 0 0 1
1001 N111 0 0 0
1002 B5234 65413 0 0 0
1002 B5234 654090 0 1 0
1002 N123 011235 0 0 0
我了解如何在同一个 df 本身中使用 apply 函数,但我不知道如何也使用外部 df 作为参考。
【问题讨论】:
标签: python-3.x pandas loops numpy