Tengo un marco de datos con este tipo de datos (demasiadas columnas):
col1 int64
col2 int64
col3 category
col4 category
col5 category
Las columnas se parecen a esto:
Name: col3, dtype: category
Categories (8, object): [B, C, E, G, H, N, S, W]
Quiero convertir todo el valor en columnas a un número entero como este:
[1, 2, 3, 4, 5, 6, 7, 8]
Resolví esto para una columna por esto:
dataframe['c'] = pandas.Categorical.from_array(dataframe.col3).codes
Ahora tengo dos columnas en mi marco de datos: antiguo col3
y nuevo, c
y necesito eliminar columnas antiguas.
Esa es una mala práctica. Es un trabajo, pero en mi marco de datos hay muchas columnas y no quiero hacerlo manualmente.
¿Cómo hacer esto pitónico y simplemente inteligentemente?