Pandas convierte 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 simplifican el trabajo con datos científicos. Pandas es uno de los paquetes de manipulación y análisis de datos más valiosos de Python. Ofrece características como estructuras de datos personalizadas construidas sobre Python. Este artículo explica cómo convertir una columna de un tipo de datos a un tipo int dentro de un DataFrame de Pandas.

Contenidos

configurar pandas

Antes de comenzar a realizar el proceso de conversión, debemos configurar pandas en nuestro entorno de Python. Si está utilizando el entorno base en el intérprete de anaconda, probablemente tenga pandas instalados. Sin embargo, con una instalación nativa de Python, debe instalarla manualmente. Para hacer esto, ejecute el siguiente comando: En Linux, ejecute $ sudo pip3 install pandas

En entornos anaconda o miniconda, instale pandas con conda. Instalar $ conda pandas$ sudo install conda pandas

Los pandas crean un marco de datos de muestra

En este tutorial, configuremos un DataFrame de muestra para demostrarlo. Puede copiar el código a continuación o usar su DataFrame. importar pandas como pdfdf = pd.DataFrame({‘id’: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]’Apellido’: [‘Marja Jérôme’, ‘Alexios Shiva’, ‘Mohan Famke’, ‘Lovrenco Ilar’, ‘Steffen Angus’]’Puntos’: [‘50000’, ‘70899’, ‘70000’, ‘81000’, ‘110000’]}) Una vez que se crea el DataFrame, podemos inspeccionar los datos.

Pandas indican el tipo de columna

Es bueno saber si el tipo existente se puede convertir a un int antes de convertir una columna de un tipo a un int. Por ejemplo, intentar convertir una columna de nombres no se convierte en un int. Podemos indicar el tipo de un DataFrame usando la propiedad dtypes. Usando la sintaxis: En nuestro DataFrame de muestra, podemos obtener los tipos de columna de la siguiente manera: df.dtypesid nombre del objeto puntos del objeto tipo de objeto: objeto Del resultado anterior podemos ver que ninguna de las columnas contiene un tipo int.

Pandas convierte columna de cadena a int.

Para convertir una sola columna en un entero, usamos la función astype() y pasamos el tipo de datos de destino como parámetro. La sintaxis de la función: DataFrame.astype(dtype, copy=True, errors=’raise’)

  1. dtype: especifica el tipo de Python o un dtype NumPy al que se convertirá el objeto.
  2. Copiar: le permite devolver una copia del objeto en lugar de actuar en el acto.
  3. Error: especifica la acción en caso de error. Por defecto, la función arroja los errores.

En nuestro DataFrame de muestra, podemos convertir la columna id a un tipo int usando la función astype(), como se muestra en el siguiente código: df[‘id’] = gl[‘id’].astype(int) El código anterior especifica la columna id como el objeto de destino. Luego pasamos un int como tipo a la función astype(). Podemos verificar el nuevo tipo de datos para cada columna en el DataFrame: df.dtypesid int32name objectpoints objectdtype: object La columna ID se convirtió en un número entero mientras que 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 convertirlas a un tipo específico. Por ejemplo, podemos ejecutar el siguiente código para convertir las columnas id y puntos al tipo int. d.f.[[‘id’, ‘points’]]= df[[‘id’, ‘points’]].astype(int) Aquí especificamos múltiples columnas en notación de paréntesis. Esto nos permite convertir las columnas al tipo de datos especificado en la función astype(). Si verificamos el tipo de columna, deberíamos ver una salida: df.dtypesid int32name objectpoints int32dtype: object Ahora podemos ver que la columna ‘id’ y ‘points’ se han convertido al tipo ‘int32’.

Los pandas convierten múltiples columnas en múltiples tipos

La función astype() nos permite especificar una columna y un tipo de destino como un diccionario. Supongamos 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, «points»: float}df = df.astype(convert_to) En el código anterior, comenzamos definiendo un diccionario que contiene la columna de destino como 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 especificados. La verificación de los tipos de columna debe devolver: df.dtypesid int32name objectpoints float64dtype: object Tenga en cuenta que la columna id es de tipo int32 y la columna de puntos es de tipo float32.

Pandas convierte columna a int – to_numeric()

Pandas también nos proporciona la función to_numeric(). Podemos usar esta función para convertir una columna a un tipo numérico. La sintaxis de la función es la siguiente: pandas.to_numeric(arg, errors=’raise’, downcast=None) Por ejemplo, para convertir la columna ID en nuestro DataFrame de muestra a un valor numérico, podemos ejecutar: df[‘id’] = pd.to_numeric(df[‘id’]) El código debe tomar la columna id y convertirla en un tipo int.

Pandas convierte DataFrame al mejor tipo de datos posible

La función convert_dtypes() en Pandas nos permite convertir un DataFrame completo al tipo más cercano posible. La sintaxis de la función es la siguiente: DataFrame.convert_dtypes(infer_objects=True, convert_string=True, convert_integer=True, convert_boolean=True, convert_floating=True) Puede consultar la documentación en el siguiente recurso: https://pandas.pydata.org / docs/reference/api/pandas.DataFrame.convert_dtypes.html Por ejemplo, para convertir nuestro DataFrame de ejemplo al tipo más cercano posible, podemos ejecutar: Si verificamos el tipo: df.dtypesid Int32name stringpoints Int64dtype: object Notará que todos Columna se ha convertido al siguiente tipo adecuado. Por ejemplo, la función convierte números enteros pequeños para escribir int32. Asimismo, la columna de nombre se convierte al tipo de cadena porque contiene valores de cadena. Eventualmente, dado que la columna de puntos contiene números enteros más grandes, se convierte a un tipo int64.

Conclusión

En este artículo, hemos proporcionado métodos y ejemplos detallados para convertir un Pandas DataFrame de un tipo a otro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.