当我在pandas中使用group_by进行聚合时,如何存储整个记录中具有完全相同值的变量值?

2024-05-17 06:58:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个问题。 问题是:我有一个客户的多个交易记录,我正试图汇总这些记录

CUstID  cat_var  VisitDate
123     abc      09/09/2019
123     abc      01/01/2015
123     abc      02/01/2013
123     abc      02/01/2016
123     abc      08/01/2017
345     gcf      09/01/2015
345     gcf      09/02/2018

我需要汇总记录,并尝试捕获每个客户截至2017年9月的最近一次访问,这是我按组进行的,并计算VisitDate.max()

  1. 现在,我需要在新的数据框中创建一个新变量,如果客户在2017年最后一次访问后的2年内访问过,则记录为“是”。我尝试了forloop,但由于我有100万条记录,这需要时间。有什么有效的方法可以做到这一点吗

  2. 当我聚合价值时,我需要在cat_var中显示价值。因为它在整个客户中保持不变,所以我只需要显示价值。那么,在使用group_by时,我该如何做到这一点呢? 我的输出应该如下所示

CustID   cat_var   RecentVisit_till2017    Returned_afterThat
123       abc       08/01/2017                No (Since he did not return within 08/01/2019)
345       gcf       09/01/2015                No (Since one day late)

请帮我提些建议或暗示。提前谢谢


Tags: no客户var记录交易gcfmaxcat