Al trabajar con datos, es común encontrar valores faltantes (nulos) y registros duplicados. En esta sección se muestran ejemplos sencillos para detectar y solucionar estos problemas utilizando Pandas.
Manejo de Valores Nulos
1. Identificar Valores Nulos
Usa isnull()
y sum()
para ver cuántos valores faltan en cada columna.
import pandas as pd
# Ejemplo de DataFrame con algunos valores faltantes
data = {
'Nombre': ['Ana', 'Luis', 'Carlos', None],
'Edad': [23, None, 35, 29],
'Ciudad': ['Madrid', 'Barcelona', 'Valencia', 'Sevilla']
}
df = pd.DataFrame(data)
print("Valores nulos por columna:")
print(df.isnull().sum())
2. Eliminar Filas con Valores Nulos
El método dropna()
elimina filas que tengan algún valor nulo.
df_sin_nulos = df.dropna()
print("DataFrame sin filas con valores nulos:")
print(df_sin_nulos)
3. Reemplazar Valores Nulos
Con fillna()
se pueden sustituir los valores faltantes por un valor específico, como la media de la columna.
# Calcular la media de la columna 'Edad' (excluyendo nulos)
media_edad = df['Edad'].mean()
# Reemplazar los valores nulos en 'Edad' por la media
df['Edad'] = df['Edad'].fillna(media_edad)
print("DataFrame con los nulos de 'Edad' reemplazados por la media:")
print(df)
Detección y Eliminación de Duplicados
1. Identificar Registros Duplicados
El método duplicated()
marca las filas que se repiten.
data_dup = {
'ID': [1, 2, 2, 3, 4, 4, 4],
'Nombre': ['Ana', 'Luis', 'Luis', 'Carlos', 'María', 'María', 'María']
}
df_dup = pd.DataFrame(data_dup)
print("Registro duplicado (True indica duplicado):")
print(df_dup.duplicated())
2. Eliminar Registros Duplicados
Con drop_duplicates()
se eliminan las filas repetidas.
df_sin_duplicados = df_dup.drop_duplicates()
print("DataFrame sin registros duplicados:")
print(df_sin_duplicados)