带有datetime的Numpy.arange - ValueError:不允许使用负尺寸:

时间:2015-01-15 16:47:39

标签: python python-2.7 datetime numpy

我正在为matplotlib图表构建一个日期轴,该图表应该每7天打一次。我正在使用numpy来构建范围和间隔,但我收到错误消息ValueError: negative dimensions are not allowed我已将代码隔离到重要元素

import numpy as np
import datetime
first_date = datetime.datetime( 2014, 12, 13)
last_date = datetime.datetime( 2015, 1, 1)

print np.arange(first_date, last_date,7)

预期产出:

[datetime.datetime( 2014, 12, 13) datetime.datetime( 2014, 12, 20) datetime.datetime( 2014, 12, 27)]

2 个答案:

答案 0 :(得分:2)

根据Paulo Scardine的np.datetime64的建议,我能够成功解决这个问题。我发布了其他人可能会觉得有用的解决方案:

import numpy as np
import datetime
first_date = np.datetime64('2014-12-13')
last_date = np.datetime64('2015-01-01')

print np.arange(first_date, last_date,7)

答案 1 :(得分:1)

NumPy拥有自己的优化版datetime.datetimenumpy.datetime64

>>> import numpy as np
>>> np.arange(np.datetime64('2014-12-13'), np.datetime64('2015-01-01'), 7)
array(['2014-12-13', '2014-12-20', '2014-12-27'], dtype='datetime64[D]')