【发布时间】:2022-01-16 20:58:42
【问题描述】:
我有兴趣计算来自同一提供商的订单之间的时间差(以天为单位)
源数据框:
| OrderNumber | CatID | CustomerID | CreateDate |
|---|---|---|---|
| 6543 | 4901 | 1111 | 2008-01-01 |
| 6543 | 4901 | 2222 | 2008-01-03 |
| 1113 | 4910 | 3333 | 2008-01-03 |
| 1234 | 5436 | 1111 | 2008-01-05 |
| 1245 | 6434 | 2222 | 2008-01-10 |
| 1456 | 2453 | 1111 | 2008-01-12 |
| 1567 | 64355 | 3333 | 2008-01-13 |
OrderNumber 和 CatID 并不有趣。
我想计算同一 customerID 中日期之间的差异。
目标日期帧:
| OrderNumber | CatID | CustomerID | CreateDate | calc days |
|---|---|---|---|---|
| 6543 | 4901 | 1111 | 2008-01-01 | 4 days |
| 6543 | 4901 | 2222 | 2008-01-03 | 7 days |
| 1113 | 4910 | 3333 | 2008-01-03 | 10 days |
| 1234 | 5436 | 1111 | 2008-01-05 | 7 days |
| 1245 | 6434 | 2222 | 2008-01-10 | 5 days |
| 1456 | 2453 | 1111 | 2008-01-12 | 1 days |
| 1567 | 64355 | 3333 | 2008-01-13 | - |
| 6436 | 64355 | 1111 | 2008-01-13 | - |
| 1253 | 64355 | 2222 | 2008-01-15 | - |
OrderNumber 和 CatID 不感兴趣
原始数据
OrderNumber CustomerID CreateDate
------------------------------------------
0 27986 712841200 2008-01-01
1 28917 712841200 2008-04-16
2 28451 712630100 2008-02-27
3 29836 712630100 2008-08-21
4 30158 712630100 2008-10-27
... ... ... ...
21621 44318 712841600 2014-12-03
21622 44322 712841600 2014-12-03
21623 42829 712847200 2014-03-05
21624 43547 712847200 2014-06-26
21625 42830 712847200 2014-03-05
【问题讨论】:
-
你可能想看看 datetime 模块。然后您可以创建日期对象,并可以对日期对象执行算术以检查时差。
标签: python pandas dataframe date data-science