title: Numpy isnan() fails on an array of floats (from pandas dataframe apply)
body: <p>I have an array of floats (some normal numbers, some nans) that is coming out of an apply on a pandas dataframe.</p>
  
  <p>For some reason, numpy.isnan is failing on this array, however as shown below, each element is a float, numpy.isnan runs correctly on each element, the type of the variable is definitely a numpy array.</p>
  
  <p>What's going on?!</p>
  
  <pre><code>set([type(x) for x in tester])
  Out[59]: {float}
  
  tester
  Out[60]: 
  array([-0.7000000000000001, nan, nan, nan, nan, nan, nan, nan, nan, nan,
     nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
     nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
     nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
     nan, nan], dtype=object)
  
  set([type(x) for x in tester])
  Out[61]: {float}
  
  np.isnan(tester)
  Traceback (most recent call last):
  
  File "&lt;ipython-input-62-e3638605b43c&gt;", line 1, in &lt;module&gt;
  np.isnan(tester)
  
  TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
  
  set([np.isnan(x) for x in tester])
  Out[65]: {False, True}
  
  type(tester)
  Out[66]: numpy.ndarray
  </code></pre>