【发布时间】:2020-11-18 13:16:31
【问题描述】:
我有一个如下结构的数据框(实际数据框要大得多):
ID Side Start Time End Time Last Action
0 B Bid 2020-10-13 14:40:32 2020-10-23 17:00:05 Cancelled
1 A Bid 2020-10-19 11:44:02 2020-10-23 17:00:05 Cancelled
2 A Bid 2020-10-20 09:43:15 2020-10-23 17:00:05 Cancelled
3 B Bid 2020-10-20 16:56:03 2020-10-23 17:00:05 Cancelled
4 B Bid 2020-10-26 14:32:26 2020-10-28 10:18:31 Dealt
5 A Bid 2020-10-26 16:10:48 2020-10-29 16:49:27 Dealt
6 A Bid 2020-10-26 16:59:00 2020-10-27 16:55:35 Cancelled
7 A Ask 2020-10-27 09:39:58 2020-10-28 13:33:18 Updated
8 A Bid 2020-10-27 13:33:57 2020-10-27 13:42:18 Dealt
9 A Bid 2020-10-27 13:47:19 2020-10-27 16:40:30 Dealt
10 A Bid 2020-10-27 16:59:09 2020-10-28 10:19:51 Cancelled
11 B Ask 2020-10-28 09:02:33 2020-10-28 11:12:58 Cancelled
12 B Bid 2020-10-28 10:24:02 2020-10-28 14:44:44 Dealt
13 B Ask 2020-10-28 11:04:57 2020-10-28 11:07:12 Cancelled
14 B Ask 2020-10-28 11:09:58 2020-10-28 11:41:33 Cancelled
15 B Ask 2020-10-28 12:04:10 2020-10-28 12:10:52 Cancelled
16 B Ask 2020-10-28 13:24:10 2020-10-28 13:46:15 Cancelled
17 B Ask 2020-10-28 13:46:36 2020-10-28 13:48:18 Cancelled
18 B Ask 2020-10-28 14:49:05 2020-10-28 16:13:09 Cancelled
19 B Ask 2020-10-28 16:14:54 2020-10-28 16:14:59 Dealt
20 B Bid 2020-10-29 10:09:27 2020-10-29 10:39:08 Dealt
21 B Ask 2020-10-29 10:49:02 2020-10-29 10:49:58 Cancelled
22 B Ask 2020-10-29 13:13:55 2020-10-29 17:00:00 Updated
23 B Bid 2020-10-29 15:25:48 2020-10-29 15:31:09 Dealt
24 B Bid 2020-10-29 16:59:22 2020-10-29 17:00:20 Cancelled
使用此数据框,我将执行以下操作:按列分组 ID,我想标记满足以下条件的 两行 的那些实例:
- 时间间隔
Start Time和End Time重叠 - 两边是相反的(买/卖或卖/卖)
- 其中一行的
Last Action是Dealt,另一行是Cancelled(无论是否处理买价/卖价或取消)
我已经设法计算了时间范围的重叠,但我似乎没有设法添加上面列出的三个条件。
提前致谢!
【问题讨论】: