title: Scipy interpolate returns a 'dimensionless' array
body: <p>I understand that <code>interp1d</code> expects an array of values to interpolate, but the behavior when passing it a float is strange enough to ask what is going on and what exactly is being returned</p>
  
  <pre><code>import numpy as np
  from scipy.interpolate import interp1d
  
  x = np.array([1,2,3,4])
  y = np.array([5,7,9,15])
  f = interp1d(x,y, kind='cubic')
  a = f(2.5)
  
  print(repr(a))
  print("type is {}".format(type(a)))
  print("shape is {}".format(a.shape))
  print("ndim is {}".format(a.ndim))
  print(a)
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>array(7.749999999999992)
  type is &lt;class 'numpy.ndarray'&gt;
  shape is ()
  ndim is 0
  7.749999999999992
  </code></pre>
  
  <p>EDIT: To clarify, I would not expect numpy to even have a dimensionless, shapeless array much less a scipy function return one. </p>
  
  <pre><code>print("Numpy version is {}".format(np.__version__))
  print("Scipy version is {}".format(scipy.__version__))
  
  Numpy version is 1.10.4
  Scipy version is 0.17.0
  </code></pre>