Pandas es uno de los paquetes de análisis y manipulación de datos más valiosos de Python.
Ofrece características como estructuras de datos personalizadas que se construyen sobre Python.
Este artículo discutirá la conversión de una columna de un tipo de datos a un tipo INT dentro de un marco de datos PANDAS.
Configuración de pandas
Antes de sumergirnos en cómo realizar la operación de conversión, necesitamos configurar pandas en nuestro entorno de Python.
Si está utilizando el entorno base en el intérprete de Anaconda, es probable que tenga pandas instalados.
Sin embargo, en una instalación nativa de Python, deberá instalarlo manualmente.
Puedes hacerlo ejecutando el comando:
$ PIP Install PandasEn Linux, ejecutar
$ sudo pip3 instalar pandasEn entornos de Anaconda o Miniconda, instale pandas con conda.
$ conda install pandasPandas crea muestras de datos de datos
Configurar una muestra de datos de datos para fines de ilustración en este tutorial. Puede copiar el código a continuación o usar su DataFrame.
importar pandas como PDUna vez que se crea DataFrame, podemos verificar los datos.
Tipo de columna Pandas Show
Es bueno saber si el tipo existente se puede lanzar a un int antes de convertir una columna de un tipo a int.
Por ejemplo, intentar convertir una columna que contenga nombres no se puede convertir a un int.
Podemos ver el tipo de DataFrame utilizando la propiedad dtypes
Use la sintaxis:
Marco de datos.dtypesEn nuestra muestra de datos de datos, podemos obtener los tipos de columnas como:
df.dtypesPodemos ver en la salida anterior que ninguna de las columnas contiene un tipo int tipo.
Pandas Convertir columna de cadena a int.
Para convertir una sola columna en un int, usamos la función Astype () y pasamos el tipo de datos de destino como parámetro.
La sintaxis de la función:
Marco de datos.Astype (dtype, copy = true, errores = 'asumir')En nuestra muestra de DataFrame, podemos convertir la columna ID a tipo INT utilizando la función Astype () como se muestra en el siguiente código:
df ['id'] = df ['id'].Astype (int)El código anterior especifica la columna 'id' como el objeto de destino. Luego pasamos un int como el tipo a la función Astype ().
Podemos verificar el nuevo tipo de datos para cada columna en DataFrame:
df.dtypesLa columna de identificación se ha convertido a un int mientras el resto permanece sin cambios.
Pandas convierte múltiples columnas a int
La función Astype () nos permite convertir más de una columna y convertirlos a un tipo específico.
Por ejemplo, podemos ejecutar el siguiente código para convertir las columnas de ID y puntos en INT.
df [['id', 'puntos']] = df [['id', 'puntos']]].Astype (int)Aquí, estamos especificando varias columnas usando la notación de soporte cuadrado. Esto nos permite convertir las columnas en el tipo de datos especificado en la función Astype ().
Si verificamos el tipo de columna, deberíamos ver una salida:
df.dtypesAhora podemos ver que la columna ID y Puntos se ha convertido en Tipo INT32.
Pandas convierte múltiples columnas en múltiples tipos
La función Astype () nos permite especificar una columna y tipo de destino como diccionario.
Suponga que queremos convertir la columna ID a INT32 y la columna de puntos a Float64.
Podemos ejecutar el siguiente código:
convert_to = "id": int, "puntos": floatEn el código anterior, comenzamos definiendo un diccionario que contiene la columna de destino como la clave y el tipo de destino como el valor.
Luego usamos la función Astype () para convertir las columnas en el diccionario a los tipos de establecimiento.
Verificar los tipos de columnas debe regresar:
df.dtypesTenga en cuenta que la columna ID es INT32 y la columna de puntos es de tipo Float32.
PANDAS CONVERTO COLLUMA A INT - TO_NUMERIC ()
Pandas también nos proporciona la función to_numeric (). Esta función nos permite convertir una columna a un tipo numérico.
La sintaxis de la función es como se muestra:
pandas.to_numeric (arg, errores = 'criar', downcast = none)Por ejemplo, para convertir la columna de ID a numérica en nuestra muestra de datos de datos, podemos ejecutar:
df ['id'] = PD.to_numeric (df ['id'])El código debe tomar la columna de identificación y convertirlo en un tipo int.
PANDAS Convertir DataFrame al mejor tipo de datos posible
La función convert_dtypes () en pandas nos permite convertir un marco de datos completo al tipo posible más cercano.
La sintaxis de la función es como se muestra:
Marco de datos.convert_dtypes (infer_objects = true, convert_string = true,Puede consultar los documentos en el recurso a continuación:
https: // pandas.pydata.org/docs/reference/api/pandas.Marco de datos.convertir_dtypes.html
Por ejemplo, para convertir nuestro marco de datos de muestra al tipo más cercano posible, podemos ejecutar:
DF = DF.convert_dtypes ()Si verificamos el tipo:
df.dtypesNotará que cada columna se ha convertido al tipo apropiado más cercano. Por ejemplo, la función convierte el tipo ints de tipo int32.
Del mismo modo, la columna de nombres se convierte en tipo de cadena, ya que contiene los valores de las cadenas.
Finalmente, dado que la columna de puntos contiene enteros más grandes, se convierte en un tipo int64.
Conclusión
En este artículo, dimos métodos detallados y ejemplos de conversión de un marco de datos de pandas de un tipo a otro.