Cómo cambiar el tipo de datos de la columna en pandas
Se pueden utilizar diferentes funciones en pandas para cambiar el tipo de datos de columnas en un marco de datos. En los siguientes ejemplos, explicaremos en detalle cómo puede cambiar los tipos de datos de las columnas en DataFrame.
Ejemplo 1: Uso de DataFrame.función astype ()
Para crear una muestra de datos de datos, primero importaremos los pandas como PD para usar las funcionalidades proporcionadas por él. Para demostrar el funcionamiento de la función Astype (), creamos un marco de datos con tres columnas de diferentes tipos de datos. Usando DataFrame.método astype (), podemos convertir un objeto pandas a un dtype requerido. Además, este método permite a los usuarios cambiar cualquier columna (adecuada) de DataFrame a un tipo de categoría.
Como se puede ver en la ilustración anterior, creamos tres columnas: X, Y y Z. Cuando la columna x consiste en int y valores de cadena ['2', 4, 6, '8' y 10], la columna y solo tiene valores de cadena ['P', 'Q', 'r', 's', 't'], y la columna Z consta de valores de flotación y cadena. Para ver el tipo de datos de cada columna en nuestro marcado de datos, se utiliza el atributo dtypes. El atributo "dtypes" se puede utilizar para determinar el tipo de datos en un marcador de datos PANDAS, una serie que comprende los tipos de datos de cada columna devuelto por el atributo.
Como se puede ver en la ilustración PEVIUS, el tipo de datos de cada columna se muestra como "objeto". Como puede notar, hay al menos un valor de cadena en cada columna (x, y y z) de DataFrame. Entonces, el atributo dtype considera el tipo de datos de cada columna como un "objeto". Ahora, cambiemos el tipo de datos de la columna X usando la función Astype ().
Asignamos el Tipo de datos INT a la columna X de nuestro DataFrame de "DF" y asignamos el nuevo DataFrame a la variable llamada "DF". Ahora, podemos verificar utilizando el atributo dtypes si el tipo de datos de la columna X se cambia o no.
Se puede ver que el tipo de datos de la columna X se cambia de objeto a "int32". Puede definir un solo tipo de datos para todo el marco de datos o por separado a cada marco de datos de columna utilizando un diccionario de Python. Vamos a especificar los diferentes tipos de datos a cada columna del marco de datos utilizando un diccionario.
En el diccionario anterior, especificamos el tipo de datos "int" a x columna, el tipo de datos "cadena" a la columna y y el tipo de datos "flotación" a la columna Z de "DF" DataFrame. Al usar el atributo dtypes, verifiquemos los tipos de datos actuales de las columnas X, Y y Z en nuestro marco de datos.
Los tipos de datos de cada columna se cambian correctamente. También podemos usar la función Astype () para especificar un solo tipo de datos en todas las columnas de nuestros DataFrame.
Utilizamos el método Astype () en nuestro DataFrame "DF" y pasamos el tipo de datos "cadena" como un argumento para cambiar el tipo de datos de cada columna a "Objeto".
Ejemplo 2: usando la función to_numeric ()
Aplicar () nos permite convertir el tipo de datos de columnas específicas o de todas las columnas en int/float, fecha y hora del tiempo pasando las opciones "Pandas.to_numérico "," Pandas.to_datetime "y" pandas.to_timedelta ". Dependiendo de los valores presentes en la columna, la función to_numeric () cambia el tipo de datos de una columna DataFrame a un int o flotante. El tipo de datos de la columna se cambia a "int64" si contiene números enteros solamente. El tipo de datos de la columna se convierte en "float64" usando to_numeric () si contiene valores con puntos decimales. Para explicar esto con la ayuda de un ejemplo, creemos un marco de datos con el tipo de datos de cadena, pero usamos los valores enteros como "cadenas".
Primero importamos los módulos pandas y numpy. Luego, creamos el marco de datos utilizando el PD.Función DataFrame (). Dentro del PD.DataFrame Función, pasamos las tres listas: ['1', '2', '3'], ['4', '5', '6'] y ['7', '8', '9' ]. Los nombres de las columnas se especifican como "x", "y" y "z". El atributo dtypes se usa para ver los tipos de datos de las columnas X, Y y Z.
Actualmente, el tipo de datos de cada fila es "objeto". Ahora usamos la función to_numeric () para cambiar su tipo de datos.
Como se mencionó anteriormente, si las columnas contienen números decimales, la función to_numeric () cambia automáticamente el tipo de datos a "int64". Compruebemos si los tipos de datos se cambian o no.
Como utilizamos los números decimales como valores de "cadena" en el marco de datos "DF", la función to_numeric () los convirtió con éxito a "int64". ¿Qué pasa si hay una columna con valores de flotación como "cadena" dentro del marco de datos "DF"?? La función to_numeric () cambiará su tipo de datos a "float64"? Para responder a esta pregunta, agregamos otra columna con valores de flotación como "cadena" en el marco de datos "DF" creado recientemente.
Agregamos otra columna a nuestro DataFrame "DF" y especificamos los nombres de la columna como W, X, Y y Z. La columna Z recientemente agregada consta de solo valores de punto decimal como "cadena". Aplicemos la función to_numeric () para ver los resultados.
El tipo de datos de columnas que tienen números sin decimal se convierte en "int64" y el número decimal a "float64" utilizando la función to_numeric ().
Ejemplo 3: usando la función convert_dtypes ()
En los dos ejemplos anteriores, cambiamos el tipo de datos de las columnas de DataFrame utilizando las funciones Astype () y To_Numeric (). También podemos cambiar el tipo de datos de las columnas en nuestro DataFrame utilizando la función convert_dtypes (). Después de evaluar los datos, el método convert_dtypes () devuelve un nuevo marco de datos con el tipo de datos de cada columna convertido al tipo de datos mejor adecuado (optimizado). Para comprender la función convert_dtypes (), creamos primero una muestra de datos de datos.
Después de importar el módulo Pandas, creamos dos listas: "Nombre" y "Estudiante". En la lista de "nombre", tenemos algunos valores de cadena y nulo ("Tom", PD.Na, "Max", "Tony"). Mientras que en la lista de "estudiante", tenemos los valores booleanos con algunos valores nulos (verdadero, PD.Na, falso, PD.N / A). Asignamos ambas listas a la variable "datos". El PD.La función DataFrame () se utiliza para crear un DataFrame dentro del cual se pasa la variable de datos como argumento. Luego, utilizamos el atributo dtypes que dio los tipos de datos de todas las columnas en nuestro marco de datos. Como se ve en la ilustración anterior, el tipo de datos de cada columna en nuestro DataFrame es "Objeto". Usemos la función Convert_dtypes () para cambiar los tipos de datos de columnas con tipos de datos adecuados.
Como se puede ver, la función Convert_DTypes () cambió los tipos de datos de las columnas con el tipo de datos mejor adecuado (optimizado). El tipo de datos de la columna "Nombre" se cambia a "cadena" y el tipo de datos de las columnas "estudiante" se cambia a boolean.
Conclusión
En este tutorial, hemos pasado por diferentes formas de cambiar el tipo de datos de la columna de DataFrame utilizando diferentes funciones. Intentamos hacerle capaz de cambiar el tipo de datos de la columna de un marco de datos por su cuenta utilizando las funciones Astype (), To_numeric () y Convert_DTypes (). Implementamos múltiples ejemplos para enseñarle cómo usar DataFrame.función astype (), cómo usar la función to_numeric () y cómo usar la función convert_dtypes () para cambiar el tipo de columna.