【发布时间】:2021-12-31 04:00:58
【问题描述】:
我在 python 数据框中有 5 列:
s.no, customer_id,status issue_date, action_date, resolve_date
1234 600123 resolved 10-10-2021 11-11-2021 12-11-2021
1235 600123 resolved 15-10-2021 11-11-2021 12-11-2021
1236 600123 resolved 16-10-2021 11-11-2021 12-11-2021
1237 700673 in-progress 17-10-2021 29-10-2021
1238 700673 in-progress 18-10-2021
1239 800165 submitted 20-10-2021
1239 800165 submitted 21-10-2021
有四种状态(已提交、进行中、已解决、已取消)。 S.no 将自动递增,并且客户 ID 是唯一的。同一个客户可以提出多个问题。 在客户提出的所有问题都得到解决之前,CS 团队无法将问题标记为已解决,并且所有问题都会显示为进行中。
我需要帮助为每位客户获取一行,其中包含初始问题提交日期 (issue_date)、最长操作日期和最长解决日期。例如,如果提出了 4 个问题,任何问题仍有待解决,则 issue_date 应为(第一个 issue 日期)的初始日期,action date 将是最迟日期,并且解决日期应为 null
样本输出应按 customer_id 分组
customer_id,status ,issue_date, action_date, resolve_date
600123 resolved 10-10-2021 11-11-2021 12-11-2021
700673 in-progress 17-10-2021 29-10-2021 NULL
800165 submitted 21-10-2021 NULL NULL
【问题讨论】:
-
请在问题中显示您的数据框示例,以及包含您期望的输出的另一个示例数据框。
-
可能先运行
.groupby("customer_id"),然后运行first()、last()、max()
标签: python pandas dataframe self-join