title: Pandas to_dict changes index type with outtype='records'
body: <p>I'm am trying to call the to_dict function on the following DataFrame:</p>
  
  <p>import pandas as pd</p>
  
  <p>data = {"a": [1,2,3,4,5], "b": [90,80,40,60,30]}</p>
  
  <p>df = pd.DataFrame(data)</p>
  
  <pre><code>   a   b
  0  1  90
  1  2  80
  2  3  40
  3  4  60
  4  5  30
  </code></pre>
  
  <blockquote>
    <p>df.reset_index().to_dict("r")</p>
  </blockquote>
  
  <pre><code>[{'a': 1, 'b': 90, 'index': 0},
   {'a': 2, 'b': 80, 'index': 1},
   {'a': 3, 'b': 40, 'index': 2},
   {'a': 4, 'b': 60, 'index': 3},
   {'a': 5, 'b': 30, 'index': 4}]
  </code></pre>
  
  <p>However my problem occurs if I perform a float operation on the dataframe, which mutates the index into a float:</p>
  
  <blockquote>
    <p>(df*1.0).reset_index().to_dict("r")</p>
  </blockquote>
  
  <pre><code>[{'a': 1.0, 'b': 90.0, 'index': 0.0},  
  {'a': 2.0, 'b': 80.0, 'index': 1.0},  
  {'a': 3.0, 'b': 40.0, 'index': 2.0},  
  {'a': 4.0, 'b': 60.0, 'index': 3.0},  
  {'a': 5.0, 'b': 30.0, 'index': 4.0}]
  </code></pre>
  
  <p>Can anyone explain the above behaviour or recommend a workaround, or verify whether or not this could be a pandas bug? None of the other outtypes in the to_dict method mutates the index as shown above.</p>
  
  <p>I've replicated this on both pandas 0.14 and 0.18 (latest)</p>
  
  <p>Many thanks!</p>