【发布时间】:2018-08-01 12:03:37
【问题描述】:
我有这个工作问题。所以我有这个数据集如下:
Client Date Transaction Num
A 7/20/2017 1
A 7/26/2017 1
A 7/31/2017 1
A 8/23/2017 2
A 8/31/2017 2
A 9/11/2017 2
A 9/19/2017 3
A 9/27/2017 3
A 10/4/2017 3
B 6/1/2017 1
B 6/29/2017 1
B 7/6/2017 2
B 8/27/2017 3
B 9/28/2017 4
B 10/16/2017 4
B 11/30/2017 5
我需要做的是根据每个客户的日期生成交易编号,如下所示:
对于开始日期(对于客户 A,它是 2017 年 7 月 20 日),我需要分配一个开始交易编号 = 1。然后从该开始日期起每 30 天,我需要将交易编号增加一。因此,从 7/20/17 开始的 30 天是 8/19/17,因此在此范围内的所有日期都获得事务编号 =1,然后如果超过,则事务编号从开始日期起每 30 天递增 1。这种模式继续下去,所以从 8/19/17 开始的 30 天是 9/18/17,所以在这个范围内的日期得到事务 num = 2,在 9/18/17 之后,得到事务 num = 3,依此类推。
我需要为大型 Excel 执行此操作。任何帮助,将不胜感激。如果在 python 中更容易,请告诉我。
谢谢, 萨米
【问题讨论】:
-
日期是否会像您展示的那样按升序排列(除了 B 中的第一个可能应该是 A)?
-
是的,对于每个客户,日期将按升序排列(我更正了 B 第一行的错误)。
标签: python excel csv analytics etl