Theoretically the same input, but two different outputs 
#### Code Sample, a copy-pastable example if possible

```python
# Your code here
In [90]: foo
Out[90]: 
              Run1_D000 Run2_D000 Run3_D000 Run1_D003 Run2_D003 Run3_D003  \
!Sample_title                                                               
ILMN_1663453    7.12176   7.02776   6.98596   7.14393   7.05466   7.09429   
ILMN_1756022    7.65859   7.35573   7.47615   7.68055   7.67805   7.34007   

              Run1_D007 Run2_D007 Run3_D007 Run1_D010 Run2_D010 Run3_D010  \
!Sample_title                                                               
ILMN_1663453    7.28681   6.81694     6.992   7.00229   6.96245   7.03667   
ILMN_1756022    7.68232   7.19233   7.35483   7.17413   7.13332   7.06498   

              Run1_D014 Run2_D014 Run3_D014 Run1_D020 Run2_D020  Run3_D020  \
!Sample_title                                                                
ILMN_1663453    6.92535   7.08065   7.01638   7.19666   7.00181    6.97161   
ILMN_1756022     7.4789   7.16604   7.12642   7.35268   7.03017    7.42006   

               ILMN_Gene  
!Sample_title             
ILMN_1663453   HIST1H2AI  
ILMN_1756022   HIST1H2AM  

In [91]: foo.to_csv("delete_files/data.csv")

In [92]: bar = pd.DataFrame.from_csv("delete_files/data.csv")

In [93]: foo.iloc[:,:-1].sum(axis=0)
Out[93]: 
Run3_D020    14.39167
dtype: float64

In [94]: bar.iloc[:,:-1].sum(axis=0)
Out[94]: 
Run1_D000    14.78035
Run2_D000    14.38349
Run3_D000    14.46211
Run1_D003    14.82448
Run2_D003    14.73271
Run3_D003    14.43436
Run1_D007    14.96913
Run2_D007    14.00927
Run3_D007    14.34683
Run1_D010    14.17642
Run2_D010    14.09577
Run3_D010    14.10165
Run1_D014    14.40425
Run2_D014    14.24669
Run3_D014    14.14280
Run1_D020    14.54934
Run2_D020    14.03198
Run3_D020    14.39167
dtype: float64

```
#### Problem description

I have a particular dataframe called 'foo'. I save it to CSV, then load it from CSV into a new dataframe called 'bar'. I apply the exact same operation to both 'foo' and 'bar', but the outputs are different. 

#### Expected Output
The outputs should be identical. 
#### Output of ``pd.show_versions()``

<details>
# Paste the output here pd.show_versions() here
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.10.final.0
python-bits: 64
OS: Darwin
OS-release: 15.6.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: en_GB.UTF-8

pandas: 0.19.2
nose: 1.3.7
pip: 9.0.1
setuptools: 23.1.0
Cython: None
numpy: 1.11.3
scipy: 0.19.0
statsmodels: None
xarray: None
IPython: 5.3.0
sphinx: None
patsy: None
dateutil: 2.6.0
pytz: 2016.3
blosc: None
bottleneck: None
tables: None
numexpr: None
matplotlib: 2.0.0
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.4.1
html5lib: 0.999
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.9.5
boto: None
pandas_datareader: None
</details>