Método fillna de DataFrame de Pandas

Beginner

Introducción

En este laboratorio, aprenderá a usar el método fillna() de la biblioteca Pandas. El método fillna() le permite rellenar valores faltantes o NaN (Not a Number) en un DataFrame con valores especificados o usando un método especificado.

Consejos sobre la VM

Una vez finalizada la inicialización de 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 sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importando las bibliotecas necesarias

Comencemos importando la biblioteca Pandas:

import pandas as pd

Crea un DataFrame con valores faltantes

A continuación, creemos un DataFrame con algunos valores faltantes:

df = pd.DataFrame([[2, pd.nan, 0], [pd.nan, pd.nan, 5], [pd.nan, 3, pd.nan]], columns=list('ABC'))
print("El DataFrame es:")
print(df)

Rellena los valores faltantes con un valor especificado

Podemos usar el método fillna() para reemplazar todos los valores faltantes con un valor especificado. Por ejemplo, reemplazemos todos los valores faltantes en el DataFrame con el valor 2:

print("Rellenando valores NaN:")
print(df.fillna(2))

Rellena los valores faltantes usando el método de relleno hacia adelante

En lugar de usar un solo valor para rellenar los valores faltantes, podemos propagar los valores no nulos hacia adelante usando el método de relleno hacia adelante (ffill). Este método rellena los valores faltantes con el último valor no nulo observado en la misma columna.

print("Rellenando valores NaN usando el método de relleno hacia adelante:")
print(df.fillna(method='ffill'))

Rellena los valores faltantes usando el método de relleno hacia adelante a lo largo de las columnas

También podemos usar el método de relleno hacia adelante a lo largo de las columnas estableciendo el parámetro axis en 1.

print("Rellenando valores NaN usando el método de relleno hacia adelante a lo largo de las columnas:")
print(df.fillna(method='ffill', axis=1))

Rellena los valores faltantes usando el método de relleno hacia atrás

Del mismo modo, podemos usar el método de relleno hacia atrás (bfill) para propagar los valores no nulos hacia atrás. Este método rellena los valores faltantes con el siguiente valor no nulo observado en la misma columna.

print("Rellenando valores NaN usando el método de relleno hacia atrás:")
print(df.fillna(method='bfill'))

Reemplaza los valores faltantes de columnas específicas con valores especificados

Podemos reemplazar los valores faltantes de columnas específicas con diferentes valores especificados. Por ejemplo, reemplazemos los valores faltantes en las columnas 'A', 'B', 'C' y 'D' con los valores 0, 1, 2 y 3, respectivamente.

print("Rellenando valores NaN en columnas específicas:")
new_values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
print(df.fillna(value=new_values))

Limita el número de valores NaN consecutivos a rellenar

También podemos limitar el número de valores NaN consecutivos a rellenar usando el parámetro limit. Por ejemplo, limitamos el relleno hacia adelante a solo un valor NaN consecutivo.

print("Rellenando valores NaN con un límite:")
print(df.fillna(method='ffill', limit=1))

Resumen

En este laboratorio, aprendiste cómo usar el método fillna() de la biblioteca Pandas para rellenar valores faltantes o NaN en un DataFrame. Exploraste varias maneras de rellenar valores faltantes, incluyendo usar un valor especificado, rellenar hacia adelante, rellenar hacia atrás y limitar el número de valores NaN consecutivos a rellenar. Fillna es un método útil para manejar datos faltantes y garantizar la integridad de tu DataFrame.