【发布时间】:2015-03-19 09:38:02
【问题描述】:
请帮我找到一个不需要大量循环的解决方案。我有一个时间戳列表,例如
["2014-04-11 08:00:00.000000",
"2014-04-11 09:35:00.000000",
"2014-04-11 09:35:00.000000",
"2014-04-11 09:40:00.000000",
"2014-04-11 11:00:00.000000",
...]
我想“合并”列表中的时间戳,以便彼此在一个公共窗口(例如 10 分钟)内的时间戳成为一个条目。所以上面的示例列表会变成
["2014-04-11 08:00:00.000000",
"2014-04-11 09:35:00.000000",
"2014-04-11 11:00:00.000000",
...]
还请注意,合并的三个时间戳是针对“9:35”值而不是“9:40”进行的。我想合并时间戳以转到最频繁的条目。如果出现平局,则在较早/最频繁的时间戳上合并。
而且我还在尝试跟踪合并了多少时间戳。因此,对于上面的示例,保留计数的列表将是 [1,3,1,...]。
【问题讨论】:
-
你有什么可以部分有效的吗?
-
另外,什么定义了公共窗口?可以创建连续的 10 分钟窗口并查看时间戳是否适合其中,还是必须从数据中导出时间窗口?
-
@SimeonVisser 给定时间戳的窗口被定义为它周围的 10 分钟间隔,其中有时间戳之前的 5 分钟和之后的 5 分钟。
-
部分工作的代码很长,效率低下且令人困惑......它循环遍历时间戳列表的枚举,在此期间它 i。创建构成 10 分钟窗口的时间戳列表 ii.循环遍历原始列表以计算每个条目在 (i) iii 中的列表中出现的次数。再次遍历原始列表,检查时间戳之间的差异。如果差值 =
标签: python list collections timestamp