y = numpy.array([2.56, 4.79, 6.21])
data = numpy.array([[0, 0, 1, 0, 1], [0, 1, 1, 1, 0], [1, 0, 0, 0, 0]])

def lookupNearest(x0, y0):
    xi = numpy.abs(x - x0).argmin()
yi = numpy.abs(y - y0).argmin()
return data[yi, xi]
lookupNearest(5.1, 4.9)
lookupNearest(3.54, 6.9)
Двумерная интерполяция ближайших соседей в Python