pd.read_csv by default treats integers like floats
<p>I have a <code>csv</code> that looks like (headers = first row):</p>

<pre><code>name,a,a1,b,b1
arnold,300311,arnld01,300311,arnld01
sam,300713,sam01,300713,sam01
</code></pre>

<p>When I run:</p>

<pre><code>df = pd.read_csv('file.csv')
</code></pre>

<p>Columns <code>a</code> and <code>b</code> have a <code>.0</code> attached to the end like so:</p>

<pre><code>df.head()

name,a,a1,b,b1
arnold,300311.0,arnld01,300311.0,arnld01
sam,300713.0,sam01,300713.0,sam01
</code></pre>

<p>Columns <code>a</code> and <code>b</code> are integers or blanks so why does <code>pd.read_csv()</code> treat them like floats and how do I ensure they are integers on the read? </p>