Cuando nos encontramos con valores nulos en un dataset. Podemos actuar de las siguientes formas:
Lo primero es abrirnos el fichero en un dataset con pandas:
%config IPCompleter.greedy=True
import pandas as pd
# Cargamos el fichero sin más desde una ruta relativa:
data = pd.read_csv("python-ml-course-master/datasets/titanic/titanic3.csv")
Luego podemos actuar de dos formas:
Opción 1. Borrar las filas con valores nulos.
# Borramos todas las filas que tengan todas las columnas vacías.
data.dropna(axis=0, how="all")
# Borramos todas las filas que tengan al menos una columna vacía.
data.dropna(axis=0, how="any")
Opción 2. Calculamos los valores que faltan.
# Asignamos un 0 a todos los valores que faltan.
data = data.fillna(0)
# Asignamos la palabra "Desconocido" a todos los valores que faltan.
data = data.fillna("Desconocido")
# Asignamos un 0 a todos los valores que faltan de la columna "body".
data["body"] = data["body"].fillna(0)
# Asignamos a los valores desconocidos de la columna "age" la media de todos los valores conocidos.
data["age"] = data["age"]fillna(data["age"].mean())
# Asignamos a los valores desconocidos de la columna "age" la mediana de todos los valores conocidos.
data["age"] = data["age"]fillna(data["age"].median())
# Asignamos a los valores desconocidos de la columna "age" la moda de todos los valores conocidos.
data["age"] = data["age"]fillna(data["age"].mode())
# Asignamos a los valores desconocidos de la columna "age" el valor de la siguiente fila en su posición.
data["age"] = data["age"]fillna(method="ffill")
# Asignamos a los valores desconocidos de la columna "age" el valor de la anterior fila en su posición.
data["age"] = data["age"]fillna(method="backfill")
Y eso es todo.
No hay comentarios:
Publicar un comentario