2

我有一些数据,对于向量中的每个条目,x向量中都有一个相应的条目。此外,数据不是均匀分布的。yxyx

我想在x样本之间进行插值以获得均匀的x尺寸间距,并逼近相应的y值。在numpy中,interp1d似乎是一个自然的解决方案,但我的问题有一个警告:x值不是单调递增的(因为两者x都是y时间的函数)。因此,该interp1d函数和 interpolate 模块中的其他函数在那些x反转方向的点上给出了奇怪的结果。

我真正想做的只是在每组两个相邻x点之间拟合一条直线,然后根据这个非常局部的近似值进行插值。在numpy中是否有执行此操作的功能,还是我必须自己安装一些东西?

4

1 回答 1

0

Could you sort your xy pairs and then use interp1d? Something like this?

import sort
xy = zip(x,y)
new_xy = sorted(xy, key=lambda xy: xy[0])
x = new_xy[:,0]
y = new_xy[:,1]

Now your x's are monotonically increasing and the relationships have been preserved.

于 2012-11-27T05:50:24.210 回答