Como tratar valores faltantes em um dataset

Como tratar valores faltantes em um dataset

Nessa aula iremos mostrar como realizar mais algumas operações para tratar valores faltantes e limpar os dados que você irá utilizar. Aqui iremos tratar de dados faltantes, ou seja, dados que não estão presentes na base de dados por algum erro de inserção ou problemas na persistência. 


Atenção: valores faltantes são um pouco diferentes de valores inconsistentes. Veja nesse post como tratar valores inconsistentes usando o pandas.

O primeiro ponto que precisamos destacar é que o pandas possui um método capaz de identificar onde os dados faltantes estão. Para executá-lo utilize a seguinte sintaxe:

pd.isnull(data['age'])

Técnica 01 – excluir os valores que estão nulos

Antes de excluir as linhas que contém valores nulos, deve-se considerar a quantidade de registros que serão excluídos. Fazendo essa análise é possível decidir se é viável excluí-los.

Para tratar valores faltantes usando essa técnica o pandas possui um método bem fácil de manipulação que exclui os valores:

data.dropna()

Técnica 02 – preencher os valores que estão nulos

Podemos ainda considerar a realização do preenchimento dos valores nulos com a média das idades. Para isso existe também uma facilidade que o pandas disponibiliza que é o método fillna()

data.fillna(data['age'].mean())

Técnica 03 – usar o SKlearn

O SKlearn também possui uma ferramenta que realiza a tarefa de preenchimento desses valores faltantes. A ferramenta utilizada é o SimpleImputer. Veja um exemplo de como utilizar essa ferramenta:

# imports
import numpy as np
from sklearn.impute import SimpleImputer

# instancia o objeto
imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')

# define o array
X = [[np.nan, 2, 3], [4, np.nan, 6], [10, np.nan, 9]]

# insere os dados no objeto
imp_mean.fit(X)

# Saida
print(imp_mean.transform(X))
[[ 7.   2.   3. ]
 [ 4.   3.5  6. ]
 [10.   5.   9. ]]

Veja outros artigos bem legais aqui:

Acesse nosso github

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e a forma com que ela pode transformar vidas!

Deixe uma resposta