Empty value for int column triggers conversion to floats.
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd
from datetime import date
from datetime import datetime
import sys

d = date.today()

f=pd.read_csv("Export2.csv")
start_date = f.at[2, 'StartDate'][5:]
end_date = f.at[2, 'EndDate'][8:]
year_date = f.at[2, 'EndDate'][:4]
start_month = f.at[2, 'StartDate'][5:]
start_month = start_month[:2]
end_month = f.at[2, 'EndDate'][5:]
end_month = end_month[:2]
 
if start_month != end_month:
	end_date = end_month + "-" + end_date
keep_col = ['EmpNo','RegHours']
new_f = f[keep_col]
df = pd.DataFrame(data=new_f)
df['EarnCode']='HLY'
df = df[pd.notnull(df.RegHours)]
df = df[df.RegHours != 0.0]
df['EmpNo'] = df['EmpNo'].apply(lambda x: '{0:0>4}'.format(x))
df.to_csv("newHours_" + start_date + "-" + end_date + "-" + year_date + ".csv", header=False, index=False)

```

#### CSV Export2.csv

```
"StartDate","EndDate","PayrollGroupName","EmpGroupName","EmpNo","ApprovedBy","Payrate","RegHours","Ot1Hours","Ot2Hours","Other1Hours","Other2Hours","Other3Hours","Other4Hours","Other5Hours","RegCategoryName","Ot1CategoryName","Ot2CategoryName","Other1CategoryName","Other2CategoryName","Other3CategoryName","Other4CategoryName","Other5CategoryName","RegCategoryCode","Ot1CategoryCode","Ot2CategoryCode","Other1CategoryCode","Other2CategoryCode","Other3CategoryCode","Other4CategoryCode","Other5CategoryCode"
"2018-04-02","2018-04-09","ALL","The Shop","0989","TimeTracker"," 0 ","38.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","Regular","Overtime 1.5","Overtime 2","","","","","","","","","","","","",""
"2018-04-02","2018-04-09","ALL","The Shop","0789","TimeTracker"," 0 ","39.25","0.00","0.00","0.00","0.00","0.00","0.00","0.00","Regular","Overtime 1.5","Overtime 2","","","","","","","","","","","","",""
"2018-04-02","2018-04-09","ALL","NIGHT SHIFT","","TimeTracker"," 0 ","35.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","Regular","Overtime 1.5","Overtime 2","","","","","","","","","","","","",""
"2018-04-02","2018-04-09","ALL","NIGHT SHIFT","","TimeTracker"," 0 ","15.75","0.00","0.00","0.00","0.00","0.00","0.00","0.00","Regular","Overtime 1.5","Overtime 2","","","","","","","","","","","","",""
```

### Unexpected Behavior (output)

318.0,38.0,HLY
322.0,39.25,HLY
0nan,35.0,HLY
0nan,15.75,HLY

#### Problem description

I am expecting this to output the int values as ints still, but instead I get back float values. I am not absolutely certain though if the community is going to think that this is invalid behavior or not because of the missing values. Still I would think that a missing value alone would not trigger floats.

#### Expected Output

0318,38.0,HLY
0322,39.25,HLY
0nan,35.0,HLY
0nan,15.75,HLY

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.13.final.0
python-bits: 64
OS: Darwin
OS-release: 16.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.22.0
pytest: None
pip: 10.0.0
setuptools: 32.1.0
Cython: 0.25.2
numpy: 1.14.2
scipy: None
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.7.2
pytz: 2018.4
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.5.3
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
