Pandas Convertir columna a int

Pandas Convertir columna a int
Pandas es una biblioteca de Python gratuita y de código abierto que proporciona estructuras de datos rápidas, flexibles y expresivas que facilitan trabajar con datos científicos.

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 Pandas

En Linux, ejecutar

$ sudo pip3 instalar pandas

En entornos de Anaconda o Miniconda, instale pandas con conda.

$ conda install pandas
$ sudo conda install pandas

Pandas 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 PD
DF = PD.DataFrame ('id': ['1', '2', '3', '4', '5'],
'Nombre': ['Marja Jérôme', 'Alexios Shiva', 'Mohan Famke', 'Lovrenco ilar', 'Steffen Angus'],
'Puntos': ['50000', '70899', '70000', '81000', '110000'])

Una 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.dtypes

En nuestra muestra de datos de datos, podemos obtener los tipos de columnas como:

df.dtypes
objeto de identificación
nombre del objeto
puntos de objetos
dtype: objeto

Podemos 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')
  1. dtype: especifica el tipo de pitón o un dtype numpy al que se convierte el objeto.
  2. Copiar: le permite devolver una copia del objeto en lugar de actuar en su lugar.
  3. Errores: especifica la acción en caso de error. Por defecto, la función aumentará los errores.

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.dtypes
ID int32
nombre del objeto
puntos de objetos
dtype: objeto

La 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.dtypes
ID int32
nombre del objeto
puntos int32
dtype: objeto

Ahora 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": float
DF = DF.Astype (Convert_TO)

En 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.dtypes
ID int32
nombre del objeto
Puntos flotante64
dtype: objeto

Tenga 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,
convert_integer = true, convert_boolean = true, convert_floating = 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.dtypes
ID int32
cadena de nombre
puntos int64
dtype: objeto

Notará 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.