插值方法往往在面对序列坐标不随机(例如 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])