插值方法往往在面对序列坐标不随机(例如 loglog图)时或其他常见情况需要将坐标转换到等间距序列时需要使用。
引入
import numpy as np
基础使用
xSpace = np.arange(lower, upper)
yInterp = np.interp(xSpace, xData, yData)
以上代码首通过给定的 lower 和 upper 范围生成了一个等间距数组序列 xSpace。
之后在给定的 xData 和 yData 的原始数据点空间中进行插值。
xSpace 也可以是单个值,用以获得在 xData 和 yData 空间中 xSpace 在 xData 坐标中的插值结果。
返回值的大小与xSpace相同。
可选参数
left
指定当xSpace值小于 xData[0] (超出左侧)时的插值数值,默认为 yData[0]
right
指定当xSpace值大于 xData[-1] (超出右侧)时的插值数值,默认为 yData[-1]
period
重复周期,当xSpace超出xData两侧范围后进行重复取值。
例如:
>>> x = [-180, -170, -185, 185, -10, -5, 0, 365]
>>> xp = [190, -190, 350, -350]
>>> fp = [5, 10, 3, 4]
>>> np.interp(x, xp, fp, period=360)
array([7.5 , 5. , 8.75, 6.25, 3. , 3.25, 3.5 , 3.75])