嘿,抱歉,我是 Python 新手,只需要指出正确的方向。
这是我正在处理的数据:
2018-12-14 14:36:00
2018-12-15 02:00:00
2018-12-15 04:48:00
2018-12-16 06:12:00
2018-12-16 11:28:00
2018-12-16 23:52:00
我需要做的只是保留每天的最后一个条目。将存储在 numpy 数组中的值附加到列表中是否明智。这是我最好的选择吗?我问是因为我知道我不能从 numpy 数组中删除值。只是好奇从列表或 numpy 数组中这样做是否更容易?
最佳答案
我注意到你的时间是有序的。如果是这种情况,您可以简单地转换为 dict 以保留最后一个条目:
>>> times
['2018-12-14 14:36:00',
'2018-12-15 02:00:00',
'2018-12-15 04:48:00',
'2018-12-16 06:12:00',
'2018-12-16 11:28:00',
'2018-12-16 23:52:00']
>>> print(*dict(s.split() for s in times).items(), sep='\n')
('2018-12-14', '14:36:00')
('2018-12-15', '04:48:00')
('2018-12-16', '23:52:00')
如果顺序不可靠,请不排序 - 这会将时间复杂度降低到O(n log n) O( n) 任务。相反,您应该构建一个字典(键是日期,值是时间列表)并为字典值取最大值。
关于python - 只保留某一天 python 的最后一个时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53843371/