Получение секунд от 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])