Python离散数组但不断切割

时间:2015-05-21 23:49:54

标签: python arrays

我有一些数据是这样绘制的:

enter image description here

让我们谈谈一条曲线。

此曲线由2个离散数组表示,例如:

for x axis : timestemp = [0,112,445,778,1000] 
for y axis : value = [12.7,22.4,77.6,22.7]

它们彼此对应,如时间戳0值= 12,7,时间戳为112,值为22.4

我希望我能得到一些曲线的连续表示,然后我可以通过时间戳平均地切割它们,比如0为12.7,100为18.7(我只是随机选择这个数字,因为22.4是时间112)

def window_slider(X,Y,x_step):

因此,当我采取:

X=[12.7,22.4,77.6,22.7]
Y = [0,112,445,778,1000] 
x_step = 100

此函数将返回一个数据,其中包含我可以检索曲线的所有信息,与原始曲线完全相同,但同样可以切成10个。

感谢您的帮助..谢谢

###更多解释

这个问题出现了我得到了离散数据并通过matplotlib以连续形式绘制(曲线)

enter image description here

然而,它自身的数据仍然是离散的,每个点由(x,y)表示。

现在我需要将它们剪切成特定的窗口,如果我将窗口长度设为5s,我希望我能得到一些数据来代表这个

enter image description here

2 个答案:

答案 0 :(得分:0)

这应该有效

timestemp = [0,112,445,778,1000] 
value = [12.7,22.4,77.6,22.7,33]

new_timestemp = [x for x in range(min(timestemp),max(timestemp)+1)]

steps = [ 1. * (value[t] - value[t-1]) / (timestemp[t] - timestemp[t-1]) for t in range(1,len(timestemp))]

new_value = [i+y for i in value for y in steps]

print new_value

答案 1 :(得分:0)

如果您对一些较高密度的数据进行采样,则可以增加采样以获得所需的数据粒度。

如果您没有从数据点获取任何数据,而不对数据的性质做出任何进一步的假设,则无法确定时间序列的值是什么。

你可以通过特定的点集来拥有无限数量的函数,并且只有当你假设所测量的信号值线性增加或减少时,你才能得到一些值。

如果您正在寻找时间序列之间的匹配,您可以使用许多众所周知的方法来解决这个问题,例如dynamic time warping