如何在python中创建时间戳的线性空间?

如何在python中创建时间戳的线性空间?,python,datetime,numpy,pandas,Python,Datetime,Numpy,Pandas,在给定开始/停止时间和所需的中间元素数量的情况下,有没有办法创建一系列等间距的日期-时间对象 t0 = dateutil.parser.parse("23-FEB-2015 23:09:19.445506") tf = dateutil.parser.parse("24-FEB-2015 01:09:22.404973") n = 10**4 series = pandas.period_range(start=t0, end=tf, periods=n) 这个例子失败了,也许熊猫不打算给出频

在给定开始/停止时间和所需的中间元素数量的情况下,有没有办法创建一系列等间距的日期-时间对象

t0 = dateutil.parser.parse("23-FEB-2015 23:09:19.445506")
tf = dateutil.parser.parse("24-FEB-2015 01:09:22.404973")
n = 10**4
series = pandas.period_range(start=t0, end=tf, periods=n)
这个例子失败了,也许熊猫不打算给出频率小于一天的日期范围

我可以手动估计一个频率,即(tf-t0)/n,但我担心,当我接近结束历元时,天真地重复添加这个时间增量(到开始历元)会积累显著的舍入误差


我可以求助于专门使用float而不是datetime对象。(例如,从结束历元中减去开始历元,并将时间增量除以某个单位,如秒,然后简单地应用numpy linspace…)但将所有内容强制转换为浮点(并仅在需要时转换回日期)会牺牲特殊数据类型的优点(更简单的代码调试)。这是最好的解决方案吗?

解决方法*是使用numpy的:


*从直接使用日期范围开始:

In [21]: pd.date_range("23-FEB-2015 23:09:19.445506", "24-FEB-2015 01:09:22.404973", periods=10**4)
...
ValueError: Must specify two of start, end, or periods

我相信你过去能够做到这一点。日期范围(“2015年2月23日23:09:19.445506”,“2015年2月24日01:09:22.404973”,句点=10**4,频率=None)(你想要的是日期范围而不是句点范围)。
In [21]: pd.date_range("23-FEB-2015 23:09:19.445506", "24-FEB-2015 01:09:22.404973", periods=10**4)
...
ValueError: Must specify two of start, end, or periods