miércoles, 3 de julio de 2019

Data Science: Cómo actuar ante valores vacíos de un dataset

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