Hay dos formas primarias en las que podemos manejar los datos que faltan.
Borrar los datos
En este método de tratamiento de los datos que faltan, el usuario elimina el registro o la columna para los que faltan datos en el conjunto de datos.
Consideremos el siguiente conjunto de datos:
123importar pandas como pd df = pd.read_csv($0027household_data_missing.csv$0027) print(df)
pd
Salida:
123456 Item_Category Gender Age Salary Purchased satisfaction0 Fitness Hombre 20 NaN Sí NaN1 Fitness Mujer 50 70000.0 No NaN2 Alimentación Hombre 35 50000.0 Sí NaN3 Cocina Hombre 22 NaN No NaN4 Cocina Mujer 30 35000.0 Sí NaN
pd
Elimina todas las columnas que tienen todos los valores como NA.
1print(df.dropna(axis=$0027columnas$0027, how=$0027todo$0027))
pd
Salida:
123456 Item_Category Gender Age Salary Purchased0 Fitness Male 20 NaN Yes1 Fitness Female 50 70000.0 No2 Food Male 35 50000.0 Yes3 Kitchen Male 22 NaN No4 Kitchen Female 30 35000.0 Yes
pd
Retenga todas las filas que tengan al menos cinco valores presentes.
1print(df.dropna(axis=$0027filas$0027, thresh=5))
pd
Salida:
1234 Item_Category Gender Age Salary Purchased satisfaction1 Fitness Female 50 70000.0 No NaN2 Food Male 35 50000.0 Yes NaN4 Kitchen Female 30 35000.0 Yes NaN
pd
Interpolación
Es aconsejable retener los datos en la medida de lo posible sin borrarlos. Para ello, el usuario puede utilizar los puntos de datos disponibles para estimar los valores de los datos desconocidos mediante la técnica conocida como interpolación. Hay varios métodos previstos en la función de interpolación de pandas que pueden utilizarse para obtener los valores de los datos.
1print(df.interpolate(method=$0027linear$0027))
pd
Salida:
123456 Item_Category Gender Age Salary Purchased satisfaction0 Fitness Male 20 25000.000000 Yes NaN1 Fitness Female 50 70000.000000 No NaN2 Food Male 35 58333.333333 Yes NaN3 Kitchen Male 22 46666.666667 No NaN4 Kitchen Female 30 35000.000000 Yes NaN
pd
1print(df.interpolate(method=$0027quadratic$0027))
pd
Salida:
123456 Item_Category Gender Age Salary Purchased satisfaction0 Fitness Male 20 25000.000000 Yes NaN1 Fitness Female 50 70000.000000 No NaN2 Food Male 35 86666.666667 Yes NaN3 Kitchen Male 22 75000.000000 No NaN4 Kitchen Female 30 35000.000000 Yes NaN
pd
Otros métodos
Se proporcionan muchos otros métodos que pueden utilizarse en diferentes situaciones:
- Spline: Si los valores estimados están fuera del rango mínimo y máximo conocido.
- Kringing: Este modelo utiliza la correlación de todos los puntos de datos existentes para predecir los valores de los datos que faltan.
- Cuadrática: Cuando el valor de los datos cambia a un ritmo mayor.
- Akima: Si el objetivo es conseguir un movimiento suave de un punto a otro, entonces se debe utilizar la interpolación Akima.