title: pandas comparing series with numpy float gives TypeError
body: <p>In <code>pandas</code>, you can do this:</p>
  
  <pre><code>&gt;&gt;&gt; x = pd.DataFrame([[1,2,3,4], [3,4,5,6]], columns=list('abcd'))
  &gt;&gt;&gt; x
     a  b  c  d
  0  1  2  3  4
  1  3  4  5  6
  &gt;&gt;&gt; 2 &lt; x.a
  0    False
  1     True
  Name: a, dtype: bool
  </code></pre>
  
  <p>However, when I try it with it with a <code>numpy</code> float:</p>
  
  <pre><code>&gt;&gt;&gt; np.float64(2) &lt; x.a
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/Users/simon/Documents/workspace/rent-my-rez/venv/lib/python2.7/site-packages/pandas/core/ops.py", line 741, in wrapper
      if len(self) != len(other):
  TypeError: len() of unsized object
  </code></pre>
  
  <p>Is there some way around this (which doesn't involve casting the <code>numpy</code> float to a regular float), or some way I can monkey patch the <code>Series</code> class from pandas to implement reverse comparison? I've looked around in the source code for where comparison is implemented, but I couldn't find it, so a reference to the location in the code would be very helpful</p>
  
  <p>(I am aware that it is easily fixed by changing the order of comparison, but I am asking this more out of interest, as I would like to understand the source code more)</p>