python——numpy——interp()函数
numpy.interp()主要使用场景为一维线性插值,返回离散数据的一维分段线性插值结果。参数:x: 数组待插入数据的横坐标.xp: 一维浮点数序列原始数据点的横坐标,如果period参数没有指定那么就必须是递增的。否则,在使用xp = xp % period正则化之后,xp在内部进行排序.fp: 一维浮点数或复数序列原始数据点的纵坐标,和xp序列等长.left...
numpy.interp()主要使用场景为一维线性插值,返回离散数据的一维分段线性插值结果。
参数:
x: 数组
待插入数据的横坐标.
xp: 一维浮点数序列
原始数据点的横坐标,如果period参数没有指定那么就必须是递增的。否则,在使用xp = xp % period正则化之后,xp在内部进行排序.
fp: 一维浮点数或复数序列
原始数据点的纵坐标,和xp序列等长.
left: 可选参数,类型为浮点数或复数(对应于fp值),当x < xp[0]时的插值返回值,默认为fp[0].
right: 可选参数,类型为浮点数或复数(对应于fp值),当x > xp[-1]时的插值返回值,默认为fp[-1].
period: None或者浮点数,可选参数. 横坐标的周期. 此参数使得可以正确插入angular x-coordinates. 如果该参数被设定,那么忽略left参数和right参数。
返回值:
浮点数或复数(对应于fp值)或ndarray. 插入数据的纵坐标,和x形状相同。
注意:
在没有设置
period
参数时,默认要求xp参数是递增序列,可以使用下述代码进行检查:np.all(np.diff(xp)> 0) #计算每两个元素间隔差是否大于0。
示例:
x = np.linspace(0, 2*np.pi, 10)
y = np.sin(x)
xvals = np.linspace(0, 2*np.pi, 50)
yinterp = np.interp(xvals, x, y) #xvals代表要生成点的横坐标,x代表原来区间的横坐标,y代表原来区间值得纵坐标。
import matplotlib.pyplot as plt
plt.plot(x, y, 'o') #蓝色的点
plt.plot(xvals, yinterp, '-x') #黄色的区域
plt.show()
输出:
此函数一般用在X轴例如为时间轴当中,例如我们要对时间轴上的结果进行预测,可用此函数进行大致预测。
更多推荐
所有评论(0)