title: Constructing a 2d interpolator given scattered input data
body: <p>I have three lists as follows:</p>
  
  <pre><code>x = [100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0]
  
  y = [300.0, 300.0, 300.0, 300.0, 500.0, 500.0, 500.0, 500.0, 700.0, 700.0, 700.0, 700.0, 1000.0, 1000.0, 1000.0, 1000.0, 1500.0, 1500.0, 1500.0, 1500.0, 2000.0, 2000.0, 2000.0, 2000.0, 3000.0, 3000.0, 3000.0, 3000.0, 5000.0, 5000.0, 5000.0, 5000.0, 7500.0, 7500.0, 7500.0, 75000.0, 10000.0, 10000.0, 10000.0, 10000.0]
  
  z = [100.0, 95.0, 87.5, 77.5, 60.0, 57.0, 52.5, 46.5, 40.0, 38.0, 35.0, 31.0, 30.0, 28.5, 26.25, 23.25, 23.0, 21.85, 20.125, 17.825, 17.0, 16.15, 14.875, 13.175, 13.0, 12.35, 11.375, 10.075, 10.0, 9.5, 8.75, 7.75, 7.0, 6.65, 6.125, 5.425, 5.0, 4.75, 4.375, 3.875]
  </code></pre>
  
  <p>Each entry of each list is read as a point so point 0 is (100,300,100) point 1 is (75,300,95) and so on.</p>
  
  <p>I am trying to do 2d interpolation, so that I can compute a z value for any given input <code>(x0, y0)</code> point.</p>
  
  <p>I was reading that using meshgrid I can interpolate with <code>RegularGridInterpolator</code> from scipy but I am not sure how to set it up when I do:</p>
  
  <pre><code>x_,y_,z_ = np.meshgrid(x,y,z) # both indexing ij or xy
  </code></pre>
  
  <p>I don't get values for <code>x_,y_,z_</code> that make sense and I am not sure how to go from there.</p>
  
  <p>I am trying to use the data points I have above to find intermediate values so something similar to scipy's <code>interp1d</code> where </p>
  
  <pre><code>f = interp1d(x, y, kind='cubic')
  </code></pre>
  
  <p>where I can later call <code>f(any (x,y) point within range)</code> and get the corresponding <code>z</code> value.</p>