将数据时间格式转换为采样时间

时间:2017-08-07 13:10:40

标签: python time-series

使用Python,我需要将一个datetime值数组转换为采样时间,因为我想将时间序列的相应时间视为sampletime [0..T]。

[2013/11/09 14:29:54.660, 2013/11/09 14:29:54.680, ... T]其中T> 1000.所以我有一个> 1000日期时间值的数组,非常大

我想出了以下代码:

tiempos= [datetime.strptime(x,"%Y/%m/%d %H:%M:%S.%f") for x in csvTimeColum]
sampletime= [(t- tiempos[0]).microseconds/1000 for t in tiempos]

这段代码似乎运行良好,但我在信号中有1000个样本批次:

[0,20,...,980,0,20,...,980,0,20,...,980,...]

所以,我的结果信号不是连续的信号。如何正确进行此转换以保持连续信号?有人对如何解决这个问题有个好主意吗?

1 个答案:

答案 0 :(得分:3)

使用total_seconds()也适用于timedeltas: Convert TimeDiff to total seconds

sampletime= [(t- tiempos[0]).total_seconds()*1000 for t in tiempos]

工作示例:

import datetime
csvTimeColum = ["2013/11/09 14:29:54.660", "2013/11/09 14:29:54.680"]
tiempos= [datetime.datetime.strptime(x,"%Y/%m/%d %H:%M:%S.%f") for x in csvTimeColum]
sampletime= [(t- tiempos[0]).total_seconds()*1000 for t in tiempos]
sampletime # [0.0, 20.0]