Получение секунд от numpy timedelta64
У меня есть индекс datetime в pandas
index = np.array(['2013-11-11T12:36:00.078757888-0800',
'2013-11-11T12:36:03.692692992-0800',
'2013-11-11T12:36:07.085489920-0800',
'2013-11-11T12:36:08.957488128-0800'], dtype='datetime64[ns]')
Я хочу рассчитать разницу во времени в секундах. Я пришел к следующему:
diff(index).astype('float64')/1e9
есть ли лучший/более чистый способ?
Ответы
Ответ 1
Ваш собственный ответ правильный и хороший. Совсем иначе можно указать масштабные константы с выражением timedelta
.
Например, для масштабирования до секунд:
>>> np.diff(index)/np.timedelta64(1, 's')
array([ 3.6139351 , 3.39279693, 1.87199821])
В минуты:
>>> np.diff(index)/np.timedelta64(1, 'm')
array([ 0.06023225, 0.05654662, 0.03119997])