Quiero establecer la dtypes de varias columnas en pd.Dataframe(tengo un archivo que tuve que analizar manualmente en una lista de listas, ya que el archivo no era apto para pd.read_csv)
import pandas as pd
print pd.DataFrame([['a','1'],['b','2']],
dtype={'x':'object','y':'int'},
columns=['x','y'])
yo obtengo
ValueError: entry not a 2- or 3- tuple
La única forma en que puedo configurarlos es recorriendo cada variable de columna y volviendo a lanzar con astype.
dtypes = {'x':'object','y':'int'}
mydata = pd.DataFrame([['a','1'],['b','2']],
columns=['x','y'])
for c in mydata.columns:
mydata[c] = mydata[c].astype(dtypes[c])
print mydata['y'].dtype #=> int64
¿Existe una forma mejor?
df = pd.DataFrame([['a','1'],['b','2']], dtype='int', columns=['x','y'])"funciona" ... pero: s