我正在尝试使用datetime创建一个数组,它将开始于:
2018-7-16 9:00:00
并且将以150秒为间隔进行3000次,因此结果将是一个包含3000个单元格的数组,如下所示:
2018-7-16 9:00:00
2018-7-16 9:02:30
2018-7-16 9:05:00
....
我尝试过:
from datetime import datetime, timedelta
interval = 150
base = datetime(2018,7,16,9,0,0)
arr = numpy.array([base + timedelta(seconds=interval) for i in range(3000)])
但结果是:
rray([datetime.datetime(2018, 7, 16, 9, 2, 30),
datetime.datetime(2018, 7, 16, 9, 2, 30),
datetime.datetime(2018, 7, 16, 9, 2, 30), ...,
datetime.datetime(2018, 7, 16, 9, 2, 30),
datetime.datetime(2018, 7, 16, 9, 2, 30),
datetime.datetime(2018, 7, 16, 9, 2, 30)], dtype=object)
有什么想法或更好的方法吗?
谢谢!
答案 0 :(得分:5)
我认为应该是
numpy.array([base + timedelta(seconds=interval * i) for i in range(3000)])
# ^^^
答案 1 :(得分:2)
您可以使用pd.date_range
:
import pandas as pd
pd.date_range("2018-7-16 9:00:00", freq="150S", periods=3000).values