Tratamiento de Valores Faltantes
Solo un número limitado de modelos de aprendizaje automático puede manejar valores faltantes, por lo que se debe verificar el conjunto de datos para asegurar que no queden vacíos. Si hay valores faltantes, se pueden abordar de dos maneras:
- Eliminación de filas que contienen valores faltantes;
- Relleno de celdas vacías con valores sustitutos, un proceso conocido como imputación.
Identificación de valores faltantes
Para mostrar información general sobre el conjunto de datos y verificar la existencia de valores faltantes, se puede utilizar el método .info() de un DataFrame.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
El conjunto de datos tiene 344 registros, pero las columnas 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' y 'sex' contienen menos de 344 valores no nulos cada una, lo que indica la presencia de datos faltantes.
Null es otro nombre para los valores faltantes.
Para identificar el número de valores faltantes en cada columna, aplica el método .isna() y luego utiliza .sum().
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Las filas que contienen valores faltantes se pueden mostrar con:
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Eliminación de filas
Las primeras y últimas filas contienen únicamente los valores de destino ('species') y 'island', proporcionando muy poca información para ser útiles. Estas filas pueden eliminarse conservando solo aquellas con menos de dos valores NaN y reasignándolas a df.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
En contraste, las filas restantes contienen información útil, con valores NaN presentes únicamente en la columna 'sex'. En lugar de eliminar estas filas, los valores faltantes pueden imputarse. Un enfoque común es utilizar el transformador SimpleImputer, que se abordará en el siguiente capítulo.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 3.13
Tratamiento de Valores Faltantes
Desliza para mostrar el menú
Solo un número limitado de modelos de aprendizaje automático puede manejar valores faltantes, por lo que se debe verificar el conjunto de datos para asegurar que no queden vacíos. Si hay valores faltantes, se pueden abordar de dos maneras:
- Eliminación de filas que contienen valores faltantes;
- Relleno de celdas vacías con valores sustitutos, un proceso conocido como imputación.
Identificación de valores faltantes
Para mostrar información general sobre el conjunto de datos y verificar la existencia de valores faltantes, se puede utilizar el método .info() de un DataFrame.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
El conjunto de datos tiene 344 registros, pero las columnas 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' y 'sex' contienen menos de 344 valores no nulos cada una, lo que indica la presencia de datos faltantes.
Null es otro nombre para los valores faltantes.
Para identificar el número de valores faltantes en cada columna, aplica el método .isna() y luego utiliza .sum().
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Las filas que contienen valores faltantes se pueden mostrar con:
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Eliminación de filas
Las primeras y últimas filas contienen únicamente los valores de destino ('species') y 'island', proporcionando muy poca información para ser útiles. Estas filas pueden eliminarse conservando solo aquellas con menos de dos valores NaN y reasignándolas a df.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
En contraste, las filas restantes contienen información útil, con valores NaN presentes únicamente en la columna 'sex'. En lugar de eliminar estas filas, los valores faltantes pueden imputarse. Un enfoque común es utilizar el transformador SimpleImputer, que se abordará en el siguiente capítulo.
¡Gracias por tus comentarios!