在Python中的单元格之间以x秒的间隔创建日期时间数组

时间:2018-12-17 20:39:44

标签: python datetime

我正在尝试使用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)

有什么想法或更好的方法吗?

谢谢!

2 个答案:

答案 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