【发布时间】:2020-09-12 21:29:26
【问题描述】:
我有这样的数据。
我的数据如下所示。
我想根据排名获取上一个日期时间。当我使用 pandas shift(1) 函数时,我在第 9 行将 Previous Datetime 作为 '2019/10/15 00:00:00' 而不是 '2019/10/11 08:31:00' 和其他相同的方式发生对组进行排名。当等级相同时,我想要相同的上次时间。 以下是必需的结果。
+------+---------------------+-----------------------+------+
| Rank | DateTime | Elapsed Time Previous | Name |
+------+---------------------+-----------------------+------+
| 1 | 2019/09/23 08:45:00 | | |
| 2 | 2019/09/27 10:14:00 | 2019/09/23 08:45:00 | |
| 3 | 2019/10/01 09:28:00 | 2019/09/27 10:14:00 | |
| 4 | 2019/10/04 14:25:00 | 2019/10/01 09:28:00 | |
| 5 | 2019/10/08 10:46:00 | 2019/10/04 14:25:00 | |
| 6 | 2019/10/11 08:25:00 | 2019/10/08 10:46:00 | |
| 7 | 2019/10/11 08:31:00 | 2019/10/11 08:25:00 | |
| 8 | 2019/10/15 00:00:00 | 2019/10/11 08:31:00 | |
| 8 | 2019/10/15 00:00:00 | 2019/10/11 08:31:00 | |
| 1 | 2019/09/06 00:00:00 | | |
| 2 | 2019/09/10 00:00:00 | 2019/09/06 00:00:00 | |
| 3 | 2019/09/13 00:00:00 | 2019/09/10 00:00:00 | |
| 4 | 2019/09/17 00:00:00 | 2019/09/13 00:00:00 | |
| 5 | 2019/09/20 10:00:00 | 2019/09/17 00:00:00 | |
| 6 | 2019/09/24 00:00:00 | 2019/09/20 10:00:00 | |
| 7 | 2019/09/27 10:53:00 | 2019/09/24 00:00:00 | |
| 8 | 2019/10/01 10:21:00 | 2019/09/27 10:53:00 | |
| 9 | 2019/10/04 09:59:00 | 2019/10/01 10:21:00 | |
| 10 | 2019/10/08 09:58:00 | 2019/10/04 09:59:00 | |
| 11 | 2019/10/11 10:41:00 | 2019/10/08 09:58:00 | |
| 1 | 2019/09/23 09:00:00 | | |
| 2 | 2019/09/27 11:03:00 | 2019/09/23 09:00:00 | |
| 3 | 2019/10/01 10:14:00 | 2019/09/27 11:03:00 | |
| 4 | 2019/10/04 09:46:00 | 2019/10/01 10:14:00 | |
| 5 | 2019/10/08 10:04:00 | 2019/10/04 09:46:00 | |
| 6 | 2019/10/11 10:33:00 | 2019/10/08 10:04:00 | |
| 7 | 2019/10/15 00:00:00 | 2019/10/11 10:33:00 | |
| 7 | 2019/10/15 00:00:00 | 2019/10/11 10:33:00 | |
+------+---------------------+-----------------------+------+
【问题讨论】: