Python插值

22 python numpy

我有一组看起来像这样的数据:

Table-1 
    X1    | Y1
    ------+--------
    0.1   | 0.52147
    0.02  | 0.8879 
    0.08  | 0.901
    0.11  | 1.55 
    0.15  | 1.82
    0.152 | 1.95

Table-2
    X2   | Y2
    -----+------
    0.2  | 0.11
    0.21 | 0.112
    0.34 | 0.120  
    0.33 | 1.121       
Run Code Online (Sandbox Code Playgroud)

我必须为Y2Table-2中的X1值插入表1中的值,即,我需要找到Y2以下值的值X:

    X1     |  Y2
    -------+-------
    0.1    |
    0.02   |
    0.08   |
    0.11   |
    0.15   |
    0.152  |
Run Code Online (Sandbox Code Playgroud)

注意:表-1和表2的间隔不等.(X,Y)条目的数量将不同,例如,这里我们在表-1中具有6个(X1,Y1)条目并且在表-2中仅具有4个(X2,Y2).

我应该在Numpy中使用哪种插值算法,如何继续?

Ale*_*lli 30

numpy.interp似乎是你想要的函数:传递你X1的第一个参数x,你X2作为第二个参数xp,你Y2作为第三个参数fp,你将获得对应于X1坐标的Y值.

Y2_at_X1 = np.interp(X1, X2, Y2)
Run Code Online (Sandbox Code Playgroud)

我假设你想完全忽略现有的Y1价值观.这就是上面的代码片段.否则,你必须澄清你的问题,以解释你可能有什么角色Y1!

如果你想要的不仅仅是线性插值,我建议你看一下scipy.interpolate它的教程而不是试图将numpy扩展到它的简单性之外;-).