我有一個datetime對象列表,日期範圍跨越多年。將包含多天的datetime對象列表放入2小時垃圾桶中
我想將這些日期分成2個小時分檔。因此,對於0小時箱,從23:00 - 1:00的所有日期時間都將進入該箱(+/- 1小時)。
最後,我想要一個列表中的每個日期時間的索引列表中的一個斌。所以,如果我的日期時間列表是像
datetime.datetime(2014, 10, 3, 20, 29, 54, 268074),
datetime.datetime(2014, 10, 4, 11, 28, 34, 59937),
datetime.datetime(2014, 10, 4, 19, 40, 39, 718856),
datetime.datetime(2016, 8, 18, 12, 17, 57, 417245),
datetime.datetime(2016, 8, 19, 1, 37, 57, 465573)
我要像一個列表的列表的結果:
[[],
[4],
[],
[],
[],
[],
[1,3],
[],
[],
[],
[0,2],
[]]
凡結果[0]給我對應於最接近日期時間索引列表0:00,結果[0]給出最接近2:00的列表等。
我的第一個想法是使用datetime.time對象來創建一個小時列表,然後從我的列表中減去一個日期時間並找到最小值。
import datetime
hrs = array([datetime.time(t) for t in arange(0,24,2)])
closetHr = min(hrs - times[0].time())
但是,這給我的錯誤unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'
您還使用了其他什麼進口產品? –