title: How to get integers instead of floats from DataFrame's rank method
body: <p>To substitute the numbers with their corresponding "ranks":</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  
  numbers = np.random.random_integers(low=0.0, high=10000.0, size=(1000,)) 
  df = pd.DataFrame({'a': numbers})
  df['a_rank'] = df['a'].rank()
  </code></pre>
  
  <p>I am getting the float values as the default output type of <code>rank</code>method:</p>
  
  <pre><code>987     82.0
  988     36.5
  989    526.0
  990    219.0
  991    957.0
  992    819.5
  993    787.5
  994    513.0
  </code></pre>
  
  <p>Instead of <code>floats</code> I would rather have the integers. Rounding the resulted <code>float</code> values using <code>asType(int)</code> would be risky since converting to <code>int</code> would probably introduce the duplicated values from the <code>float</code> values that are too close to each other such as <code>3.5</code> and <code>4.0</code>. Those when converted to the integers both would result to the integer value of <code>4</code>. </p>
  
  <p>Is there any way to guide <code>rank</code> method to output the integers?</p>