Python: создание массива между двумя датами - PullRequest
0 голосов
/ 15 октября 2019

Попытка создать массив от начальной даты до конечной с интервалом для каждой секунды. Очень похоже на numpy.linspace(startdate,enddate,number_of_seconds_inbetween). Какой самый простой / быстрый способ сделать это?

Ответы [ 2 ]

3 голосов
/ 15 октября 2019

np.arange делает это более или менее из коробки:

np.arange("2000-01-01","2000-01-02",dtype="M8[s]")
# array(['2000-01-01T00:00:00', '2000-01-01T00:00:01',
#        '2000-01-01T00:00:02', ..., '2000-01-01T23:59:57',
#        '2000-01-01T23:59:58', '2000-01-01T23:59:59'],
#       dtype='datetime64[s]')
0 голосов
/ 15 октября 2019
def linspace_datetime64(start_date, end_date, n):
    return np.linspace(0, 1, n) * (end_date - start_date) + start_date

Пример использования:

>>> start_date = np.datetime64('2008-01-01')
>>> end_date = np.datetime64('2009-01-01')
>>> linspace_datetime64(start_date, end_date, 12)
array(['2008-01-01', '2008-02-03', '2008-03-07', '2008-04-09',
       '2008-05-13', '2008-06-15', '2008-07-18', '2008-08-20',
       '2008-09-23', '2008-10-26', '2008-11-28', '2009-01-01'],
      dtype='datetime64[D]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...