我正在研究处方习惯并拥有大量已售产品的数据框。
我正在尝试通过计算产品的持续时间并添加 5 天的合规性、开始延迟等因素来计算购买的结束日期,从而将购买药物转化为药物疗程。
然后我想将处方与重叠的日期窗口结合起来,但我正在努力寻找一种有效的方法来做到这一点。我希望 groupby 是可能的,但我不知道如何做到这一点。
我知道如何迭代数据框以创建具有相关信息的新数据框,但这是一个缓慢的操作,我希望我能找到一个更优雅的解决方案。
ID start end ingredient days dose end
1000 2018-10-03 2018-10-18 Metron... 10.0 125.00
1000 2018-10-13 2018-10-25 Metron... 7.0 125.00
1001 2018-03-08 2018-03-20 Cefalexin 7.0 150.00
1001 2018-09-17 2018-10-05 Cefalexin 13.0 150.00
1002 2018-05-18 2018-05-30 Amoxiclav 7.0 75.00
1002 2018-05-25 2018-06-06 Amoxiclav 7.0 100.00
1003 2018-07-01 2018-07-16 Amoxiclav 10.0 50.00
1003 2018-07-15 2018-07-30 Amoxiclav 10.0 50.00
1003 2018-07-25 2018-08-09 Amoxiclav 10.0 50.00
我的预期结果如下:
ID start end ingredient days dose
1000 2018-10-03 2018-10-25 Metron... 17.0 125.00
1001 2018-03-08 2018-03-20 Cefalexin 7.0 150.00
1001 2018-09-17 2018-10-05 Cefalexin 13.0 150.00
1002 2018-05-18 2018-05-30 Amoxiclav 7.0 75.00
1002 2018-05-25 2018-06-06 Amoxiclav 7.0 100.00
1003 2018-07-01 2018-08-05 Amoxiclav 30.0 50.00
1000的第二次购买正好是 10 天,因此结束日期与他们的第二次结束日期相同。
1001没有重叠,所以保持原样。
1002开始和结束日期重叠,但剂量发生了变化,因此不应合并。
1003总共有 30 天的价值。他们最终购买的开始日期晚于第一次购买的结束日期。他们的结束日期应该是他们第一次购买后的 35 天。这是一个可协商的标准,与最终购买的结束日期相匹配的结束日期是可以接受的。
我在这里吠错树了吗?这必须迭代完成吗?