Introducción
En este laboratorio, exploraremos cómo usar el tipo de datos entero anulable en pandas, que es una forma eficiente de manejar datos enteros que pueden contener valores faltantes. Aprenderemos cómo construir arrays con este tipo de datos, realizar operaciones y manejar efectivamente los valores faltantes.
Consejos sobre la VM
Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.
Construyendo arrays de enteros anulables
Pandas proporciona la clase IntegerArray para crear arrays de enteros anulables. Comencemos creando un IntegerArray.
## Importar las bibliotecas necesarias
import pandas as pd
import numpy as np
## Crear un IntegerArray con valores faltantes
arr = pd.array([1, 2, None], dtype=pd.Int64Dtype())
## Salida: <IntegerArray>
## [1, 2, <NA>]
## Longitud: 3, tipo de datos: Int64
También puede usar el alias de cadena "Int64" para especificar el tipo de datos al crear el array. Todos los valores similares a NA se reemplazan con pandas.NA.
## Crear un IntegerArray usando el alias de cadena "Int64"
arr = pd.array([1, 2, np.nan], dtype="Int64")
## Salida: <IntegerArray>
## [1, 2, <NA>]
## Longitud: 3, tipo de datos: Int64
Almacenar el IntegerArray en un DataFrame o Serie
Una vez que haya creado un IntegerArray, puede almacenarlo en un DataFrame o Serie. Vamos a crear una Serie a partir del IntegerArray que creamos.
## Crear una Serie a partir del IntegerArray
series = pd.Series(arr)
Realizando operaciones con arrays de enteros anulables
Puedes realizar diversas operaciones con arrays de enteros anulables, como operaciones aritméticas, comparaciones y segmentación.
## Crear una Serie con tipo de entero anulable
s = pd.Series([1, 2, None], dtype="Int64")
## Realizar una operación aritmética
s_plus_one = s + 1 ## suma 1 a cada elemento de la serie
## Realizar una comparación
comparison = s == 1 ## comprueba si cada elemento de la serie es igual a 1
## Realizar una operación de segmentación
sliced = s.iloc[1:3] ## selecciona el segundo y tercer elementos de la serie
Manejo de valores faltantes con pandas.NA
La clase IntegerArray utiliza pandas.NA como su valor escalar faltante. Cuando se selecciona un solo elemento que falta, devolverá pandas.NA.
## Crear un IntegerArray con un valor faltante
a = pd.array([1, None], dtype="Int64")
## Seleccionar el segundo elemento que es un valor faltante
missing_value = a[1]
## Salida: <NA>
Resumen
Esta práctica demostró cómo trabajar con tipos de datos de enteros anulables en pandas, incluyendo cómo construir arrays, almacenarlos en un DataFrame o Serie, realizar operaciones y manejar valores faltantes. Al utilizar el tipo de datos de enteros anulables, puede manejar datos enteros con valores faltantes de manera más eficiente.