【发布时间】:2016-10-02 23:34:50
【问题描述】:
在给定开始/停止时期和所需数量的干预元素的情况下,有什么方法可以创建一系列等距的日期时间对象?
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)
这个例子失败了,也许 pandas 不打算给出频率短于一天的日期范围?
我可以手动估计一个频率,即 (tf-t0)/n,但我担心天真地重复添加这个 timedelta(到开始时期)会在我接近结束时期时累积显着的舍入误差。
我可以只使用浮点数而不是日期时间对象。 (例如,从结束纪元中减去开始纪元,并将 timedelta 除以某个单位(例如秒),然后简单地应用 numpy linspace ..)但是将所有内容转换为浮点数(并仅在需要时转换回日期)会牺牲特殊数据类型的优点(更简单的代码调试)。这是最好的解决方案吗?
【问题讨论】:
-
我确定你曾经能够做到这一点
pd.date_range("23-FEB-2015 23:09:19.445506", "24-FEB-2015 01:09:22.404973", periods=10**4, freq=None)(你想要 date_range 而不是 period_range)。
标签: python datetime numpy pandas