Importar la columna del dataframe pandas como cadena no int

Me gustaría importar las siguientes csv como cadenas no como int64. Pandas read_csv lo convierte automáticamente a int64, pero necesito esta columna como cadena.

ID 00013007854817840016671868 00013007854817840016749251 00013007854817840016754630 00013007854817840016781876 00013007854817840017028824 00013007854817840017963235 00013007854817840018860166 df = read_csv('sample.csv') df.ID >> 0 -9223372036854775808 1 -9223372036854775808 2 -9223372036854775808 3 -9223372036854775808 4 -9223372036854775808 5 -9223372036854775808 6 -9223372036854775808 Name: ID 

Lamentablemente, el uso de convertidores da el mismo resultado.

 df = read_csv('sample.csv', converters={'ID': str}) df.ID >> 0 -9223372036854775808 1 -9223372036854775808 2 -9223372036854775808 3 -9223372036854775808 4 -9223372036854775808 5 -9223372036854775808 6 -9223372036854775808 Name: ID 

Solo quiero reiterar que esto funcionará en pandas> = 0.9.1:

 In [2]: read_csv('sample.csv', dtype={'ID': object}) Out[2]: ID 0 00013007854817840016671868 1 00013007854817840016749251 2 00013007854817840016754630 3 00013007854817840016781876 4 00013007854817840017028824 5 00013007854817840017963235 6 00013007854817840018860166 

También estoy creando un problema sobre la detección de desbordamientos de enteros.

EDITAR: Vea la resolución aquí: https://github.com/pydata/pandas/issues/2247

Probablemente esta no sea la manera más elegante de hacerlo, pero hace el trabajo bien.

 In[1]: import numpy as np In[2]: import pandas as pd In[3]: df = pd.DataFrame(np.genfromtxt('/Users/spencerlyon2/Desktop/test.csv', dtype=str)[1:], columns=['ID']) In[4]: df Out[4]: ID 0 00013007854817840016671868 1 00013007854817840016749251 2 00013007854817840016754630 3 00013007854817840016781876 4 00013007854817840017028824 5 00013007854817840017963235 6 00013007854817840018860166 

Simplemente reemplace '/Users/spencerlyon2/Desktop/test.csv' con la ruta a su archivo