我有一个时间戳列表(第二个分辨率),代表一些传感器读数的ID。我需要在每秒采样数之后添加毫秒分辨率。下面的示例:
[1344397048000,1344397048000,1344397048000,1344397049000, 1344397049000、1341347049000、1344397049000、1344397049000, 1344397049000,1344397050000,1344397050000]
如您所见,采样数尤其是相对于时间戳而变化:
Counter({1344397048000: 3, 1344397049000: 6, 1344397050000: 2})
我想要的是每个实例的初始时间戳列表(以毫秒为单位):
[1344397048000.0,1344397048333.3333,1344397048666.6667, 1344397049000.0,1344397049166.6667,1344397049333.3333,1344397049500.0,1344397049666.6667,1344397049833.3333,1344397050000.0,1344397050500.0]
为此,我正在使用循环,并且此代码非常慢,所以我想知道是否有一种方法可以使它更快。
我正在使用的代码:
from collections import Counter
import numpy as np
x = [1344397048000, 1344397048000, 1344397048000, 1344397049000, 1344397049000, 1344397049000, 1344397049000, 1344397049000, 1344397049000, 1344397050000, 1344397050000]
d = Counter(x)
result = []
for time in np.unique(x):
for i in range(0,d[time]):
result.append(time+i*1000/d[time])
该问题与以下问题直接相关:Expand numbers in a list 但是,这次增量参数是动态的。