Ciência de dados: como lidar com dados em falta em python

Video: Ciência de Dados no Combate à Corrupção

Você pode usar Python para lidar com essa informação em falta que às vezes aparece na ciência de dados. Às vezes, os dados que você recebe está faltando informações em domínios específicos. Por exemplo, um registro de cliente pode estar faltando uma idade. Se os registros suficientes estão faltando entradas, qualquer análise que você executar será distorcida e os resultados da análise ponderada de forma imprevisível. Ter uma estratégia para lidar com dados em falta é importante.

Encontrar a dados em falta

É essencial para encontrar dados em falta em seu conjunto de dados para evitar resultados incorretos de sua análise. O código a seguir mostra como você pode obter uma lista de valores em falta, sem muito esforço.

pandas importação como numpy pdimport como nps = pd.Series ([1, 2, 3, np.NaN, 5, 6, Nenhum]) s.isnull impressão () printprint s [s.isnull ()]

Um conjunto de dados pode representar dados em falta de várias maneiras. Neste exemplo, você vê dados em falta representados como np.NaN (NumPy Not a Number) e do Python Nenhum valor.

Use o é nulo() método para detectar os valores em falta. As mostras de saída Verdade quando o valor está em falta. Ao adicionar um índice para o conjunto de dados, você obter apenas as entradas que estão faltando. O exemplo mostra o seguinte resultado:

0 False1 False2 False3 True4 False5 False6 Truedtype: bool3 NaN6 NaNdtype: float64

omissão de codificação

Depois de descobrir que o seu conjunto de dados está faltando informações, você precisa considerar o que fazer sobre isso. As três possibilidades são para ignorar a questão, preencha os itens em falta, ou remover (queda) as entradas em falta a partir do conjunto de dados. Ignorar o problema pode levar a todos os tipos de problemas para a sua análise, por isso é a opção que você usa menos frequentemente. O exemplo a seguir mostra uma técnica para o preenchimento de dados perdidos ou deixar cair as entradas errante a partir do conjunto de dados:

Video: Introdução à Análise e Exploração de Dados com Python e Pandas

pandas importação como numpy pdimport como nps = pd.Series ([1, 2, 3, np.NaN, 5, 6, Nenhum]) s.fillna impressão (int (s.mean ())) printprint s.dropna ()

Os dois métodos de interesse são fillna (), que preenche as entradas em falta, e dropna (), que desce as entradas em falta. ao usar fillna (), você deve fornecer um valor a ser usado para os dados em falta. Este exemplo usa a média de todos os valores, mas você pode escolher um número de outras abordagens. Aqui está o resultado deste exemplo:

0 11 22 33 34 55 66 3dtype: float640 11 22 34 55 6dtype: float64


Trabalhando com uma série é simples, porque o conjunto de dados é tão simples. Ao trabalhar com um Quadro de dados, no entanto, o problema torna-se significativamente mais complicado. Você ainda tem a opção de deixar cair a linha inteira. Quando uma coluna é pouco povoada, que você pode descartar a coluna em seu lugar. Preencher os dados também se torna mais complexo, porque você deve considerar o conjunto de dados como um todo, além das necessidades do recurso individual.

Imputando os dados em falta

A informação anterior aponta para o processo de imputação de dados em falta (características atribuir com base em como os dados são usados). A técnica que você usa depende do tipo de dados que você está trabalhando.

Por exemplo, quando se trabalha com um conjunto de árvore, você pode simplesmente substituir os valores em falta com um -1 e contam com a imputer (um algoritmo transformador usado para completar os valores em falta) para definir o melhor valor possível para os dados em falta. O exemplo a seguir mostra uma técnica que você pode usar para imputar valores de dados em falta:

pandas importação como numpy pdimport como Imputers npfrom sklearn.preprocessing importação = pd.Series ([1, 2, 3, np.NaN, 5, 6, Nenhum]) imp = Imputer (missing_values ​​= `NaN`, estratégia = `média` , eixo = 0) imp.fit ([1, 2, 3, 4, 5, 6, 7]) x = pd.Series (imp.transform (s) .ToList () [0]) x impressão

Neste exemplo, s está faltando alguns valores. O código cria uma Imputer para substituir esses valores em falta. o missing_values parâmetro define o que procurar, o que é NaN. Você define o eixo parâmetro para 0 a imputar ao longo colunas e 1 imputar ao longo linhas. o estratégia parâmetro define como substituir os valores ausentes:

Video: 04 - Valores e tipos em Python

  • significar: Substitui os valores usando a média ao longo do eixo

  • mediana: Substitui os valores usando o meio ao longo do eixo

  • mais frequente: Substitui os valores usando o valor mais frequentes ao longo do eixo

    Video: 5 - Python - Variáveis, Tipos de Dados e o comando Type

Antes de poder imputar qualquer coisa, você deve fornecer estatísticas para o Imputer usar chamando em forma(). O código, em seguida, chama transformar() em s para preencher os valores em falta. No entanto, a saída não é mais uma série. Para criar uma série, você deve converter o Imputer saída para uma lista e utilizar a lista resultante como entrada para Series(). Aqui está o resultado do processo com os valores ausentes preenchidos:

0 11 22 33 44 55 66 7dtype: float64

Publicações relacionadas