title: Using pandas reindex with floats: interpolation
body: <p>Can you explain this bizarre behaviour?</p>
  
  <pre><code>df=pd.DataFrame({'year':[1986,1987,1988],'bomb':arange(3)}).set_index('year')
  
  In [9]: df.reindex(arange(1986,1988.125,.125))
  Out[9]: 
            bomb
  1986.000     0
  1986.125   NaN
  1986.250   NaN
  1986.375   NaN
  1986.500   NaN
  1986.625   NaN
  1986.750   NaN
  1986.875   NaN
  1987.000     1
  1987.125   NaN
  1987.250   NaN
  1987.375   NaN
  1987.500   NaN
  1987.625   NaN
  1987.750   NaN
  1987.875   NaN
  1988.000     2
  
  In [10]: df.reindex(arange(1986,1988.1,.1))
  Out[10]: 
          bomb
  1986.0     0
  1986.1   NaN
  1986.2   NaN
  1986.3   NaN
  1986.4   NaN
  1986.5   NaN
  1986.6   NaN
  1986.7   NaN
  1986.8   NaN
  1986.9   NaN
  1987.0   NaN
  1987.1   NaN
  1987.2   NaN
  1987.3   NaN
  1987.4   NaN
  1987.5   NaN
  1987.6   NaN
  1987.7   NaN
  1987.8   NaN
  1987.9   NaN
  1988.0   NaN
  </code></pre>
  
  <p>When the increment is anything other than .125, I find that the new index values do not "find" the old rows that have matching values. ie there is a precision problem that is not being overcome.  This is true even if I force the index to be a float before I try to interpolate. What is going on and/or what is the right way to do this?
  I've been able to get it to work with increment of 0.1 by using</p>
  
  <pre><code>reindex(  np.array(map(round,arange(1985,2010+dt,dt)*10))/10.0 )
  </code></pre>
  
  <p>By the way, I'm doing this as the first step in linearly interpolating a number of columns (e.g. "bomb" is one of them). If there's a nicer way to do that, I'd happily be set straight.</p>