我具有以下格式的数据集:
bill_id patient_id Date_of_purchase
14 321 23-4-17
29 123 25-4-17
29 123 25-4-17
29 123 25-4-17
35 321 28-6-18
35 321 28-6-18
对于相同的bill_id,购买的行属于相同的账单
对于相同的Patient_ID,它对应于同一个人。
日期对应于购买的时间。
我想做的是找出从任何开始日期到任何给定日期购物的新老客户数量。如果此人的患者证件以前已经购买过,则算为旧的。休息是新的。
是否有任何标准的熊猫函数可以根据不同的条件对这样的多列进行分组和比较?
编辑:类似以下功能和输出:
foo(start_date, end_date):
return old customers, new customers.
## E.g. foo(19-4-17,30-6-19) is (1,1) as patient_id number 321 came twice and is hence counted as old.
此代码段独立运行,并使用了一些groupby和合并魔术: