我有一个普通的二维X、Y和Z数组,我有一个点X0和Y0,我想知道在我的网格上点(X0,Y0)的Z0值。
我发现scipy有插值模块,但据我所知,它插值1D / 2D数组并返回1D / 2D数组,但没有一种方法只返回一个点的一个值。
例如:
#My grid data
X = [ [X11, X12, X13, ..., X1N],
[X21, X22, X23, ..., X2N],
....
[XN1, XN2, XN3, ..., XNN]
Y = [ [Y11, Y12, Y13, ..., Y1N],
[Y21, Y22, Y23, ..., Y2N],
....
[YN1, YN2, YN3, ..., YNN] ]
Z = [ [Z11, Z12, Z13, ..., Z1N],
[Z21, Z22, Z23, ..., Z2N],
....
[ZN1, ZN2, ZN3, ..., ZNN] ]
#Point at which I want to know the value of the Z
X0, Y0 = ..., ...
#Now I want to call any function that'll return the value at point (X0, Y0), Z0 is float value, not array
Z0 = interpolation(X, Y, Z, X0, Y0)
据我所知,类似的功能可以使用scipy.interpolate.interpn实现,但它仅适用于1D数组,当我想处理2D数据时会出现错误。