1
我有一个看起来像这样的医疗事务数据:求和特定的时间窗口在Python熊猫
id date amt code
124 1/14/12 135 P
124 1/15/12 135 P
124 1/16/12 135 P
124 1/17/12 135 R
124 2/12/12 135 P
124 2/14/12 135 R
124 2/29/12 142 P
124 2/30/12 159 P
192 2/12/12 922 P
192 2/13/12 922 R
192 2/25/12 124 P
192 2/26/12 40 P
135 2/17/12 721 P
135 2/20/12 100 P
的“P”代码表示的支付,而“R”代码表示回报。我需要确定在过去10天内有超过2次付款的病人,总额超过100美元。诀窍是我需要每天都这样做,因此个人可以在一个月内多次触发此逻辑(例如,从2012年1月15日开始的两个交易以及从1/16/12个应该每个触发一次,另外2个事务在2/30/12触发这个逻辑)。
是什么让这个问题更复杂是我必须忽略已经返回付款代码的患者。因此,如果患者'124'在2012年1月15日有2次付款并在1/17/12年有回报,他们不应该被标记,但他们应该在2012年1月14日标记每次交易& 1/15/12和2/29/12和2/30/12。最终的数据应该是这样的:
id flag_date count amt
124 1/15/12 2 270
124 1/16/12 3 405
124 2/30/12 2 301
192 2/26/12 2 164
135 2/20/12 2 821
这是非常接近我想要的输出,除了指数第2行和第3行 - 这些不应被标记,因为它们在期望的窗口中有回报付款... – Daniel
@Daniel测试您的数据上的代码。我必须增加数据,因为你有2月30日的错误。 – piRSquared
我收到以下错误:ValueError:指定为日期时无效,必须是列(如果是DataFrame)或无 使用python 2.7 – Daniel