2015-01-15 9 views
2

7 일마다 틱이있는 matplotlib 차트의 날짜 축을 만듭니다. 나는 범위와 간격을 구축 할 NumPy와를 사용하고 있지만이 중요한 요소datetime이있는 Numpy.arrange - ValueError : 음수 차원을 사용할 수 없습니다.

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) 

예상 출력에 코드를 격리 한 오류 메시지 ValueError: negative dimensions are not allowed를 수신하고 있습니다 : NP의 제안으로

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

numpy.datetime64 당신이'해봤를 np.datetime64 ('2014년 12월 13일') ''datetime.datetime' 대신에? –

+0

대신 @ PauloScardine의 제안 된 해결책을 위해'MemoryError'를 얻습니다. –

+0

@PauloScardine 덕분에, 이것이 효과가 있었고 솔루션으로 게시했지만 여전히 OP가 작동하지 않는 이유가 궁금합니다. – user2242044

답변

2

.datetime64 Paulo Scardine에서이 문제를 성공적으로 해결할 수있었습니다.

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) 
+0

도움이된다. - BTW'import datetime'은 이제 불필요하다. :-) –

1

NumPy와는 datetime.datetime 자신 만의 최적화 된 버전이 있습니다 : 나는 다른 사람이 유용 할 수있는 솔루션을 게시하고

>>> 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]')