转自https://www.cnblogs.com/aperolchen/p/9471780.html
Numpy一维线性插值函数
直接列出函数:
numpy.interp(x, xp, fp, left=None, right=None, period=None)
x - 表示将要计算的插值点x坐标
xp - 表示已有的xp数组
fp - 表示对应于已有的xp数组的值
left - 表示当x值在xp中最小值左边时,x对应y的值为left
right - 表示当x值在xp中最大值右边时,x对应y的值为right
(left和right表示x在xp的域外时,y的取值)
example:
1.
1 import numpy as np
2
3 xp = [1, 2, 3]
4 fp = [3, 2, 0]
5
6 print(np.interp(2.5, xp, fp))
output:1.0
2.
1 import numpy as np
2
3 xp = [1, 2, 3]
4 fp = [3, 2, 0]
5
6 x = [0, 1, 1.5, 2.72, 3.14]
7
8 print(np.interp(x, xp, fp))
output:[3. 3. 2.5 0.56 0. ]
3.
1 import numpy as np
2
3 xp = [1, 2, 3]
4 fp = [3, 2, 0]
5
6 x = [0, 1, 1.5, 2.72, 3.14]
7
8 print(np.interp(x, xp, fp, -99, 99))
output:[-99. 3. 2.5 0.56 99. ]