概述
我有一个列表列表,我想根据时间集群将其分组到单独的列表中。在
我可以很容易地根据时间对它进行排序,但我还没有确定一种简单的方法将它组合在一起。我很好,它是日期/时间格式或文本,其中一个适合我。我需要根据集群处理其他数据。这是一个我可能正在使用的示例数据集。在[['asdf', '2012-01-01 00:00:12', '1234'],
['asdf', '2012-01-01 00:00:31', '1235'],
['asdf', '2012-01-01 00:00:57', '2345'],
['asdf', '2012-01-01 00:01:19', '2346'],
['asdf', '2012-01-01 00:01:25', '2345'],
['asdf', '2012-01-01 09:04:14', '3465'],
['asdf', '2012-01-01 09:04:34', '1613'],
['asdf', '2012-01-01 09:04:51', '8636'],
['asdf', '2012-01-01 09:05:15', '5847'],
['asdf', '2012-01-01 09:05:29', '3672'],
['asdf', '2012-01-01 09:05:30', '2367'],
['asdf', '2012-01-01 09:05:43', '9544'],
['asdf', '2012-01-01 14:48:15', '2572'],
['asdf', '2012-01-01 14:48:34', '7483'],
['asdf', '2012-01-01 14:48:56', '5782']]
结果应该是这样的。每个组的列表的嵌套列表。在
^{pr2}$
这些簇没有固定的大小,也没有固定的时间。它们可以在一天中随机发生,并且需要根据时间上的较大间隔进行聚类。在
第一组发生在午夜之后,有5个条目,下一个条目集中在09:05左右,共有7个条目。最后一个大约在14:48,只有3个条目。我也可以在一个小时的任何一个结束有两个小组,所以我不能只是按小时分组。在
我已经按列表中的第一个字段对数据进行了排序和分组,我只需要将它们分解成更小的块进行处理。我愿意将日期更改为任何格式,以便完成分组,因为这是我对数据进行分析的关键部分。在
我希望将解决方案保留在基本python库中,但是如果没有解决方案,我可以尝试获取其他包。在
我已经研究过解决方案here,here,here,here,以及其他许多解决方案,但没有一个解决这些时间的随机性问题。在
在任何大于X时间的间隔处拆分列表将是一个很好的解决方案,因此我可以将X更改为5或10分钟,任何认为合适的都可以。放弃任何长度小于3的团队也会是一种奖励,但很容易在最后完成。在
我现在唯一真正的想法是循环查看列表,将当前时间与新时间进行比较,然后以这种方式拆分列表,但是当有数百万条记录要排序和分组时,这似乎是一种非常低效的解决此问题的方法。在
任何帮助都将不胜感激。如果这些都不合理,我会尽力澄清。在
最后
以上就是沉默羊为你收集整理的python列表随机分组_基于时间的列表聚类/分组(python)的全部内容,希望文章能够帮你解决python列表随机分组_基于时间的列表聚类/分组(python)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复