使用numpy将数据集与不同的时基相结合

时间:2015-02-16 21:56:58

标签: python numpy time-series

我正在尝试分析来自数千个传感器的数据。它们都为我提供了如下数据:

Sensor 76, t0, [r0,...,rN]
Sensor 15, t1, [r0,...,rN]
...
Sensor N, tN, [r0,...,rN]

其中tN > ... > t1 > t0(即按时间排序)和rX只是固定间隔(1.6384 ms)的计数。出于所有实际目的,它们是具有计数与时间的直方图,其中t0, t1,...是直方图的左边缘。

我遇到的问题是尝试将数据重新绑定到全局直方图中。这是为每个传感器创建计数与绝对时间直方图。这个新直方图的区间应该是2毫秒长。目前,我使用以下代码填充此全局直方图:

s0 = sensor.utc # left time edge of sensor count
s1 = sensor.utc + self.config.data_bin_size # right time edge of sensor count
t0 = self.config.absolute_time + array_index * self.config.time_sync_bin_size # left time edge of absolute bin 
t1 = t0 + self.config.time_sync_bin_size # right time edge of absolute bin 
ib = 0 # Index in original array

sensor_num = self.sensor_mapping[sensor.id]["sensor_number"]

while ib < len(sensor.scalers):
    u0 = max(s0, t0)
    u1 = min(s1, t1)
    self.global_bins[array_index][1][DOM_num] += float(u1 - u0) / float(s1 - s0) * sensor.scalers[ib] # putting things into the global histogram
    if u1 == t1:
        array_index += 1
        t0 = t1
        t1 += self.config.time_sync_bin_size
    if u1 == s1:
        ib += 1
        s0 = s1
        s1 += self.config.data_bin_size

这看起来像是一个非常笨拙的人。我重复循环某些数组索引,因为它们在绝对时间段之间分开。有没有人知道如何改善这个?

由于

0 个答案:

没有答案