Hay varias técnicas para manejar los valores perdidos. La más utilizada es la sustitución de los valores por las medidas de tendencia central. La primera línea de código que aparece a continuación sustituye los valores perdidos de la variable «Age» por la media de los valores restantes. La segunda línea reemplaza los valores faltantes de la variable $0027Is_grad$0027 con el valor de $00271$0027, lo que indica que el estado de educación del solicitante es $0027graduado$0027. La tercera línea da las estadísticas resumidas de las variables.
123dat2[$0027Edad$0027].fillna(dat2[$0027Edad$0027].mean(), inplace=True)dat2[$0027Is_graduate$0027].fillna(1,inplace=True)dat2.describe()
pitón
Salida:
1234567891011| | Estado_marital | Dependientes | Es_graduado | Ingresos | Cantidad_de_préstamo | Plazo_meses | Puntuación_de_crédito | estado_de_aprobación | Edad ||------- |------------------------ |----------------------------- |------------------------------------- |--------------------- |----------------------------- |---------------------------------------------- |----------------------------------------------------- |----- cuenta | 600. 000000 | 598.000000 | 600.000000 | 600.000000 | 600.00000 | 600.000000 | 600.000000 | 600.000000 | 600.000000 | media | 0.651667 | 0.730769 | 0. 783333 | 7210.720000 | 161.571667 | 367.10000 | 0.788333 | 0.686667 | 50.606061 | std | 0.476840 | 0.997194 | 0.412317 | 8224.445086 | 93.467598 | 63. 40892 | 0.408831 | 0.464236 | 16.184651 | min | 0.000000 | 0.000000 | 0.000000 | 200.000000 | 10.000000 | 36.00000 | 0.000000 | 0.000000 | 22.000000 | 25% | 0. 000000 | 0.000000 | 1.000000 | 3832.500000 | 111.000000 | 384.00000 | 1.000000 | 0.000000 | 36.000000 || 50% | 1.000000 | 0.000000 | 1.000000 | 5075. 000000 | 140.000000 | 384.00000 | 1.000000 | 1.000000 | 50.606061 || 75% | 1.000000 | 1.000000 | 1.000000 | 7641.500000 | 180.500000 | 384.00000 | 1. 000000 | 1.000000 | 64.000000 | max | 1.000000 | 3.000000 | 1.000000 | 108000.000000 | 778.000000 | 504.00000 | 1.000000 | 1.000000 | 80.000000 |
Las correcciones se han hecho ahora en ambas variables. Los datos también tienen una variable, $0027Sexo$0027, con cinco valores perdidos. Como se trata de una variable categórica, comprobaremos la distribución de las etiquetas, lo que se hace en la línea de código a continuación.
1dat2[$0027Sexo$0027].value_counts()
pitón
Salida:
123 M 484 F 111 Nombre: Sexo, tipo: int64
El resultado muestra que 484 de 595 solicitantes son hombres, así que sustituiremos los valores que faltan por la etiqueta $0027M$0027. La primera línea de código de abajo realiza esta tarea, mientras que la segunda línea imprime la distribución de la variable. La salida muestra 600 registros para la variable $0027Sexo$0027, lo que significa que los valores que faltan han sido contabilizados.
12dat2[$0027Sexo$0027].fillna($0027M$0027,inplace=True)dat2[$0027Sexo$0027].value_counts()
pitón
Salida:
123 M 489 F 111 Nombre: Sexo, tipo: int64
Ahora comprobaremos si hay más variables a las que les falten valores, lo que se hace en la línea de código de abajo. La salida muestra que todavía tenemos dos valores perdidos en la variable «Dependientes».
1dat2.isull().sum()
pitón
Salida:
1234567891011 Estado_marital 0 Dependientes 2 Is_graduado 0 Ingreso 0 Monto del préstamo 0 Plazo_meses 0 Puntaje del crédito 0 estado_de_aprobación 0 Edad 0 Sexo 0 dtype: int64
Como sólo hay dos valores perdidos en el conjunto de datos, aprenderemos otro enfoque para dejar caer los registros con valores perdidos. La primera línea de código que se muestra a continuación utiliza la función $0027dropna()$0027 para soltar filas con cualquier valor que falte, mientras que la segunda línea comprueba la información sobre el conjunto de datos.
12dat2 = dat2.dropna()dat2.info()
pitón
Salida:
123456789101112131415 <class $0027pandas.core.frame.DataFrame$0027; Int64Index: 598 entradas, 0 a 599 columnas de datos (total 10 columnas): Estado_marital 598 no nulo int64 Dependientes 598 no nulo flotante64 Es_graduado 598 no nulo flotante64 Ingresos 598 no nulo int64 Monto_de_préstamo 598 no nulo int64 Plazo_meses 598 no nulo int64 Puntuación_de_crédito 598 no nulo int64 Estado_de_aprobación 598 no nulo int64 Edad 598 no nulo flotante64 Sexo 598 no nulo Tipos de objeto: flotante64(3), int64(6), objeto(1) uso de memoria: 51.4+ KB