strange behavior with int in DF
This is something that has been diving me nuts for a couple of hours, so I decided to mention this. 
When I create a dataframe as a class property and append rows as shown in the code below,
the 'int' type of 'id' field is being returned as float when accessed with .ix or .xs method:

``` python

from pandas import DataFrame,Index
import numpy as np

class tst(object):
    def __init__(self):
        self._header = ['id','bid','ask','last'] # columns of the _data table
        self._data = DataFrame()

    def add(self,symbol):
        ''' add a row to dataframe '''
        data = dict(zip(self._header,[1,np.nan,np.nan,np.nan]))
        row = DataFrame(data, index = Index([symbol]))

        self._data = self._data.append(row[self._header]) # append data and set correct column order

    def __repr__(self):
        return str(self._data)


t = tst()
t.add('AAA')
t.add('BBB')


print t._data['id']['AAA'] # int (like it should)!
# this is where it goes wrong:
print t._data.ix[0,0] # float!
print t._data.xs('AAA') # float again!


```
