使用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,...]
所以,我的结果信号不是连续的信号。如何正确进行此转换以保持连续信号?有人对如何解决这个问题有个好主意吗?
答案 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]