【发布时间】:2016-08-21 14:54:13
【问题描述】:
希望有人能帮我解决这个问题,因为我什至不知道从哪里开始。
给定一个包含一系列开始和结束时间的数据框,例如:
Order Start Time End Time
1 2016-08-18 09:30:00.000 2016-08-18 09:30:05.000
1 2016-08-18 09:30:00.005 2016-08-18 09:30:25.001
1 2016-08-18 09:30:30.001 2016-08-18 09:30:56.002
1 2016-08-18 09:30:40.003 2016-08-18 09:31:05.003
1 2016-08-18 11:30:45.000 2016-08-18 13:31:05.000
对于每个订单 ID,我希望找到一个时间段列表,这些时间段未包含在最早开始时间和最晚结束时间之间的任何范围内
所以在上面的例子中,我会寻找
2016-08-18 09:30:05.000 to 2016-08-18 09:30:00.005 (the time lag between the first and second rows)
2016-08-18 09:30:25.001 to 2016-08-18 09:30:30.001 (the time lag between the second and third rows)
和
2016-08-18 09:31:05.003 to 2016-08-18 11:30:45.000 (the time period between 4 and 5)
3行和4行有重叠,所以不算
需要考虑的一些事项(附加颜色):
每条记录都表示在(例如)一个证券交易所下达的未完成订单。因此,我可以同时在纳斯达克和纽约证券交易所挂单。我也可以同时开始在纳斯达克和纽约证交所的短期订单。
如下所示:
Order Start Time End Time
1 2016-08-18 09:30:00.000 2016-08-18 09:30:05.000 (NYSE)
1 2016-08-18 09:30:00.001 2016-08-18 09:30:00.002 (NASDAQ)
我想弄清楚我们什么时候什么都不做,而且我在任何交易所都没有实时订单。
我什至不知道从哪里开始..任何想法都将不胜感激
【问题讨论】:
-
作为一项规则,开始时间都是按顺序排列的吗?还有哪些其他规则适用于排序。在这种情况下,我将能够提供帮助。
-
@AER 开始时间会按顺序排序,但结束时间可能不会(有些是短时,有些是长时)。请注意,开始时间/结束时间组合可能不是唯一的(多个动作同时发生在不同的地方)..还会添加更多信息来提问..非常感谢!!!
标签: python pandas time-series