I have data z sampled from a 2D function f at grid points x, y, as in z = f(x, y).
z
f
x, y
z = f(x, y)
It is easy to interpolate
It seems that interp2d() behaves they way it does because that is how the corresponding Fortran function was conceived. The only workaround to this (that I can think of) is to call f on pairs of coordinates:
interp2d()
[f(*p)[0] for p in zip(x, y)]