Conversión de pandas dtype de objeto a cadena

Tengo un archivo csv que tiene algunas columnas que son números y pocas que son cadenas. Cuando bash myDF.dtypes me muestra todas las columnas de cadena como object .

  1. Alguien hizo una pregunta relacionada antes aquí sobre por qué se hace esto. ¿Es posible refundir el dtype de objeto a cadena?

  2. Además, en general, ¿hay alguna manera fácil de dtype a int64 el dtype desde int64 y float64 a int32 y float32 y ahorrar en el tamaño de los datos (en la memoria / en el disco)?

Todas las cadenas se representan como de longitud variable (que es lo object mantiene dtype del object ). Puedes hacer series.astype('S32') si quieres; pero será refundido si luego lo almacena en un DataFrame o hace mucho con él. Esto es por simplicidad.

Sin HDFStore , ciertos formatos de serialización, por ejemplo, HDFStore almacenan las cadenas como cadenas de longitud fija en el disco.

Puede series.astype(int32) si lo desea y se almacenará como el nuevo tipo.

 df = your dataframe object with values print('dtype in object form :') print(df.dtypes[df.columns[0]]) // output: dtype('O') print('\ndtype in string') print(str(df.dtypes[df.columns[0]])) // output: 'object'