以5分钟为间隔生成时间戳系列的好方法,开始时间为09:10:00,结束时间为15:30:00
我知道我可以像下面那样对它进行硬编码(包括所有条目,但必须有一个干净的方式,我可以给出间隔。
times=[pd.to_datetime(i).time() for i in '10:15:00','10:15:05','10:15:10','10:15:15','10:15:20','15:25:00','15:30:00']
我试过
datetime_range(datetime.time(09,15,00), datetime.time(15,30,00), timedelta(minutes=5))
但是这会给SyntaxError: invalid token
答案 0 :(得分:1)
这个怎么样?
times = [(datetime.datetime(2017, 7, 17, 9, 10, 0) + datetime.timedelta(minutes=5*x)).time() for x in range(5)]
它有点长,但它都适合你看起来像你想做的一条线。当然,您可以通过导入所需的功能而不是整个模块来解决这个问题。
答案 1 :(得分:0)
以5分钟为间隔生成时间戳系列的好方法,开始时间为09:10:00,结束时间为15:30:00
一个简单的循环应该可以解决这个问题:
from datetime import datetime, time, timedelta
times = []
ts = datetime(2017, 7, 17, 9, 10, 0)
while ts <= datetime(2017, 7, 17, 15, 30, 0):
times.append(time(ts.hour, ts.minute, ts.second))
ts += timedelta(minutes=5)
使用 datetime 对象开始的原因是它们支持 timedelta 对象,这些对象可以解决您的问题。从那里,可以很容易地使用time(ts.hour, ts.minute, ts.second)
转换为 time 对象。