Float64 and Int64 issues
I sometimes find myself unable to join two dataframes on a column with large numbers when one is int64 and the other is float64. Apparently, having a NaN value, forces a column that would have otherwise been int64 be cast into float64 (when using the read_csv function), and then joining doesn't work. Here is a minimal example which shows the problem:

``` python
import pandas as pd
from tempfile import mkstemp
import os

d1 = pd.DataFrame([9222520091583672535],index=["a"],columns=["user"])
_,temp_path = mkstemp()
with open(temp_path,"w") as f:
    f.write("user,account_balance"+"\n")
    f.write("9222520091583672535,228"+"\n") # exact same user id as before
    f.write(",500"+"\n") # nan value - if this weren't added, the join would work
d2 = pd.read_csv(temp_path)
print d1.dtypes # d1.user is int64
print d2.dtypes # d2.user is float64 (somehow, having a NaN value forces it to be so)
os.remove(temp_path)
assert(len(pd.merge(d1,d2,on="user"))==1) # this fails
```

I'm using pandas version 0.14.1 (the bug was there in previous versions as well) and the complete show_versions() output is:
## INSTALLED VERSIONS

commit: None
python: 2.7.8.final.0
python-bits: 64
OS: Linux
OS-release: 2.6.32-431.17.1.el6.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.14.1
nose: 1.3.3
Cython: 0.20.1
numpy: 1.9.0
scipy: 0.14.0
statsmodels: 0.5.0
IPython: 2.1.0
sphinx: 1.2.2
patsy: 0.2.1
scikits.timeseries: None
dateutil: 1.5
pytz: 2014.7
bottleneck: None
tables: 3.1.1
numexpr: 2.3.1
matplotlib: 1.3.1
openpyxl: 1.8.5
xlrd: 0.9.3
xlwt: 0.7.5
xlsxwriter: 0.5.5
lxml: 3.3.5
bs4: 4.3.1
html5lib: None
httplib2: None
apiclient: None
rpy2: None
sqlalchemy: 0.9.4
pymysql: None
psycopg2: 2.5.2 (dt dec pq3 ext)
