title: Pandas: Why is default column type for numeric float?
body: <p>I am using Pandas 0.18.1 with python 2.7.x. I have an empty dataframe that I read first. I see that the types of these columns are <code>object</code> which is OK. When I assign one row of data, the type for numeric values changes to <code>float64</code>. I was expecting <code>int</code> or <code>int64</code>. Why does this happen? </p>
  
  <p>Is there a way to set some global option to let Pandas knows that for numeric values, treat them by default as <code>int</code> unless the data has a <code>.</code>? For example, <code>[0 1.0, 2.]</code>, first column is <code>int</code> but other two are <code>float64</code>?</p>
  
  <p>For example:</p>
  
  <pre><code>&gt;&gt;&gt; df = pd.read_csv('foo.csv', engine='python', keep_default_na=False)
  &gt;&gt;&gt; print df.dtypes
  bbox_id_seqno    object
  type             object
  layer            object
  ll_x             object
  ll_y             object
  ur_x             object
  ur_y             object
  polygon_count    object
  dtype: object
  &gt;&gt;&gt; df.loc[0] = ['a', 'b', 'c', 1, 2, 3, 4, 5]
  &gt;&gt;&gt; print df.dtypes
  bbox_id_seqno     object
  type              object
  layer             object
  ll_x             float64
  ll_y             float64
  ur_x             float64
  ur_y             float64
  polygon_count    float64
  dtype: object
  </code></pre>