【发布时间】:2020-05-25 10:41:56
【问题描述】:
首先,对于非复杂用户提出的复杂问题,我们深表歉意。 我是一名医学研究人员,试图创建一份在 3 个月内同时进行过 CT 扫描和 X 光检查的人员名单。我有两个 excel/csv 文档:
(1) 是所有做过 CT 扫描的人,有四个标题:Ref_CT、Date_CT、Patient ID_CT、Patient Name_CT;
(2) 是所有接受过 X 光检查的人,有四个:XR Ref、Date、Patient ID、Patient ID。
在这两个 Excel 中,只有参考文献具有独特的价值,因为大多数人都有 2 次以上的研究,并且多个研究发生在同一日期。
我的目标是打印以下行: 患者 ID;患者姓名; CT_日期; Xray_1_Date; Xray_2_Date;... Xray_10_Date(人们有多达 10 次 X 射线)。任何关于使用技术的建议,无论多么笼统,都会很棒。
非常感谢
Dataframes (1) (标题偏移以便于解释)
Ref_CT Date_CT Patient ID_C Patient Name_CT
0 1 9/8/2019 12345 PersonA, Felix (Mr)
1 2 9/6/2018 12346 PersonB, Anthony(Mr)
2 3 9/6/2017 12347 PersonC, Trev (Mrs)
3 4 9/6/2016 12348 PersonD, Jeremy (Mr)
4 5 9/8/2015 12348 PersonD, Jeremy (Mr)
(2)
X-Ray Ref Date Patient ID Patient Name
0 1 9/10/2019 12345 PersonA, Felix (Mr)
1 2 9/10/2018 12345 PersonA, Felix (Mr)
2 3 9/10/2017 12345 PersonA, Felix (Mr)
3 4 9/10/2016 12347 PersonC, Trev (Mrs)
4 5 9/10/2015 12348 PersonD, Jeremy (Mr)
预期输出
Patient_ID CT_Date XR1_Date XR2_Date XR3_date
0 12345 9/8/2019 9/10/2019 9/6/2018 9/16/2017
1 12346 9/6/2019
2 12347 9/6/2017 9/10/2016
3 12348 9/6/2016 9/10/2015
4 12348 9/8/2015 9/10/2015
(感谢@sammywemmy 为提出更好的问题提供建议)
【问题讨论】:
-
请分享一个示例数据框,只有几行和您的预期输出。没有图片,只有数据。以此为指导:stackoverflow.com/questions/20109391/…
-
不用担心。注意到了一些事情......在您的预期输出中,没有患者 id 12346 的行,您似乎将该数据与 id 12345 混为一谈。这背后有什么原因吗?
-
看起来至少有一名患者在 X 光和 CT 扫描之间改变了性别?
-
哈哈哈,性别转换发生在我制作数据点并忘记保持性别一致时。而且我不小心遗漏了 12346,因为一旦我可以生成这个数据框,我将使用 excel 删除没有两次扫描的患者,然后在彼此的 3 个月内过滤扫描。这一切都相当容易做到,但是这种复杂的交叉引用无法在 excel 中完成,因此我为什么要快速投入 python
标签: python excel database pandas