我在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
有更好/更清洁的方式吗?
答案 0 :(得分:18)
你自己的答案是正确和好的。稍微不同的方法是使用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])