Encontrar dados ausentes

Quando os dados são importados de outro sistema, você pode descobrir que alguns valores estão ausentes. Em alguns casos, esses valores simplesmente não têm conteúdo. Em outros casos, esses valores são inexistentes. Dependendo de como os valores ausentes foram inseridos nos dados, você pode acabar processando-os de maneiras diferentes. Nesta seção, descrevemos como identificar e gerenciar dados ausentes nos conjuntos de dados.

OBSERVAÇÃO: se você não souber ao certo o significado de uma coluna de dados que contém valores ausentes, tente revisar os dados de origem. Também é possível entrar em contato com o indivíduo que gerou os dados para identificar por que os valores podem estar ausentes e como gerenciá-los com eficiência no Cloud Dataprep by TRIFACTA® INC. e nos sistemas downstream.

Localizar valores ausentes

Quando sua amostra de conjunto de dados é avaliada, cada coluna é validada em relação à definição de tipo da coluna. Com base nessa validação, os valores na coluna são categorizados como válidos, incompatíveis ou ausentes. Essa categorização acontece na barra de qualidade de dados na parte superior de cada coluna.

  • Um valor ausente é qualquer um que não tenha conteúdo ou seja inexistente.
    • Um exemplo de um valor inexistente é uma célula em uma coluna de números inteiros que não contém valor. Neste caso especial, o valor ausente é chamado de valor nulo.
    • Os valores nulos são convertidos em valores ausentes durante a importação. Para mais informações, consulte Gerenciar valores nulos.
  • Valores que são espaços (um ou mais toques da tecla SPACEBAR) ou tabulações (um ou mais toques da tecla TAB) não são valores ausentes.

    Dica: para cortar o espaço em branco de uma coluna, use a seguinte transformação:

    Nome da transformação Edit column with formula
    Parâmetro: colunas column1
    Parâmetro: fórmula TRIM(column1)

    Esta etapa pode aumentar o número de valores ausentes (para valores que contêm apenas caracteres de espaço em branco) e o número de instâncias de valores correspondentes (para valores que têm espaços antes e depois de um valor alfanumérico).

  • Return (\n) e newline (\l) são considerados ausentes.

Na barra de qualidade de dados, os valores ausentes são identificados em preto:

Figura: valores ausentes em preto

Dica: na página "Transformer", clique nos valores ausentes em uma coluna para ver a contagem deles, destaque-os nas linhas da grade de dados e acione um conjunto de sugestões para sua revisão.

Os valores ausentes podem ser originados de vários problemas:

  • Os valores podem estar incorretos no sistema de origem.
  • O sistema de origem pode permitir que os campos opcionais não contenham valores. Por exemplo, os CEPs dos EUA podem conter um segundo qualificador de quatro dígitos para o CEP básico de cinco dígitos (um CEP estendido + quatro códigos). Este segundo valor pode não ser obrigatório e, portanto, é possível que esteja ausente.
  • Para colunas de valores gerados, um cálculo pode não ser aceito pelos dados de origem, o que pode indicar problemas com outros da coluna.
  • Um conjunto de valores ausentes dentro de uma linha pode indicar um problema com todo o registro.
  • O sistema de origem pode apresentar erros na saída, especialmente se os dados forem gerados com o uso de uma estrutura personalizada.

Dica: ao limpar dados ausentes, procure resolver primeiro os problemas maiores e depois os menores. Se uma porcentagem maior dos valores de uma coluna tiver sido categorizada como dados ausentes, observe as linhas afetadas para ver se é um problema maior. Se outros registros parecerem estar íntegros, considere excluir a coluna ou descobrir como gerenciar os valores ausentes, inclusive preenchendo-os.

Os dados também poderão ser considerados ausentes se você não tiver informações suficientes sobre eles. Por exemplo, os carimbos de data/hora que não têm um identificador de fuso horário podem não ser utilizáveis ​​no sistema de destino.

Métodos para corrigir dados ausentes

Ao descobrir dados incompatíveis em seu conjunto de dados, você tem os seguintes métodos básicos para corrigi-los:

  1. Identificar se os valores das colunas são necessários.

    1. Verifique o sistema de destino para determinar se o campo terá um valor. Se os valores não forem necessários, tudo bem. Considere excluir a coluna.

    2. Lembre-se de que os valores nulos importados para o Cloud Dataprep by TRIFACTA INC. são exportados como valores ausentes, que são mais fáceis de usar na maioria dos sistemas.

    3. Verifique o cabeçalho da coluna e o tipo de dados para determinar se os valores são necessários. Por exemplo, em dados de transações, um campo chamado coupon_code requer dados somente se todas as transações forem processadas com uma.

    4. Se estiver disponível, verifique o sistema de origem para ver se é necessário entrar no campo. Se uma entrada for necessária e os dados contiverem valores ausentes, então há um problema em como os dados foram exportados do sistema de origem.
  2. Inserir um valor constante. Você pode substituir um valor ausente por uma constante, o que pode facilitar a localização de problemas maiores no aplicativo.

  3. Usar uma função. Particularmente se os dados ausentes puderem ser calculados, você pode usar uma das funções disponíveis para preencher os valores ausentes.

  4. Copiar valores de outra coluna. Se um valor de outra coluna ou uma forma modificada dele puder ser usado para o valor ausente, você pode usar a transformação set para substituí-lo.

  5. Excluir linhas. Selecione a barra de valores ausentes e use a transformação delete para remover as linhas problemáticas.

    OBSERVAÇÃO: considerando que os dados ausentes podem não ser um problema explícito, evite a exclusão de linhas ou da própria coluna até que outras opções tenham sido revisadas.

  6. Ocultar a coluna por um momento. Você pode tirar a coluna da exibição se quiser se concentrar em outras coisas. Selecione Ocultar na lista suspensa da coluna. Observe que as colunas ocultas aparecem em qualquer saída gerada.
  7. Excluir a coluna. Se os dados da coluna forem desnecessários ou inutilizáveis, remova toda a coluna do conjunto de dados. Selecione Delete na lista suspensa da coluna.

    Dica: exclua as colunas desnecessárias o quanto antes. Menos dados são mais fáceis de trabalhar no aplicativo e aumentam o desempenho da execução do job.

Inserir constantes para valores ausentes

OBSERVAÇÃO: de um modo geral, a inserção de constantes no lugar de valores ausentes não é uma prática recomendada, especialmente se os aplicativos e os individuais a serem utilizados em downstream não forem conhecidos. Em particular, você não substituirá os valores numéricos ausentes por um valor numérico fixo, o que causará a distorção da análise. Use esse método somente se toda a cadeia de dados estiver ciente das constantes.

Etapas:

  1. Clique no segmento preto de valores ausentes da barra de qualidade de dados para corrigir a coluna.

    Dica: selecione um valor ausente na grade de dados. Em seguida, selecione a sugestão replace e depois modifique-a para incluir o valor de substituição.

  2. Nos cartões de sugestão, clique na sugestão set.
  3. Por padrão, essa transformação define o valor ausente como um valor nulo. Clique em Editar.
  4. Você verá algo semelhante a este comando:

    Nome da transformação Edit column with formula
    Parâmetro: colunas country
    Parâmetro: fórmula IF(ISMISSING([country]),NULL(),country)

  5. Os dados ausentes são identificados por meio do uso da referência row:ISMISSING. Para aplicar uma constante, substitua a referência NULL() por um valor constante, conforme a seguir:

    Nome da transformação Edit column with formula
    Parâmetro: colunas country
    Parâmetro: fórmula IF(ISMISSING([country]),'USA',country)

    Observe que as aspas simples em torno do valor são necessárias, porque identificam o valor como uma constante.

  6. Clique em Adicionar.

Dica: também é possível usar a função IFMISSING para testar valores vazios. No entanto, ao contrário da construção acima, IFMISSING não é compatível com uma cláusula Else quando o valor está presente. Para mais informações, consulte Função IFMISSING.

Copiar valores de outra coluna

Você pode preencher valores ausentes com valores de outra coluna. No exemplo a seguir, a coluna nickname é preenchida com o valor first_name se ele estiver ausente:

Nome da transformação Edit column with formula
Parâmetro: colunas nickname
Parâmetro: fórmula IF(ISMISSING([nickname]),first_name,nickname)

Usar funções para preencher valores ausentes

Para dados numéricos em particular, você pode usar funções para preencher valores ausentes. No exemplo a seguir, os valores ausentes para a coluna unit_price são derivados de um cálculo da coluna weight_kg e da price:

Dica: tenha cuidado ao usar funções como médias para calcular valores ausentes. Esses cálculos podem causar fatores atípicos que não foram removidos ou podem não levar em conta as tendências locais em relação aos dados. Estude os valores e o significado deles na coluna antes de realizar substituições. Em caso de dúvida, um valor médio pode ser a melhor opção, pressupondo que os valores sejam atípicos e os dados falsos sejam devidamente abordados.

Nome da transformação Edit column with formula
Parâmetro: colunas unit_price
Parâmetro: fórmula IF(ISMISSING([unit_price]),(price / weight_kg),unit_price)

Gerenciar metadados ausentes

Em alguns casos, uma coluna pode conter valores válidos, mas o significado desses valores está ausente nos dados. Por exemplo, os dados contêm as seguintes informações de carimbo de data/hora:

Carimbo de data/hora
19 May 02:45:38
19 May 02:42:24
19 May 02:41:33

Esta informação do carimbo de data/hora pode ser considerada problemática pelas seguintes razões:

  • O formato pode estar incorreto para o sistema de destino.
  • Não há informações de ano. Pode haver problemas se o sistema de destino contiver conjuntos de dados plurianuais. O elemento "mês" precisa ser interpretável pelo Cloud Dataprep by TRIFACTA INC..

  • Não existe informação de fuso horário. Em que fuso horário essas entradas foram registradas?

Os exemplos a seguir demonstram como inserir essas informações carimbos de data/hora.

Exemplo - alterar de tipo

Na importação, os dados do carimbo de data/hora podem ser classificados como dados de String. Por enquanto, tudo bem.

Dica: em especial para datas, os dados são mais fáceis de gerenciar como tipo de dados String. O Cloud Dataprep by TRIFACTA INC. tem várias funções que podem ser implantadas para o gerenciamento de strings. Depois que os dados forem formatados corretamente, você poderá alterá-los para o tipo de dados apropriado. Se você alterar o tipo de dados imediatamente, poderá ter alguns desafios ao reformatá-los e adicioná-los. Execute esta etapa por último.

Depois de ter adicionado novamente os elementos ausentes, você pode alterar o tipo de dados para Data/Hora por meio da lista suspensa na coluna respectiva.

Antes de começar a reformatar os dados, você identificará o formato de destino de data em que você quer colocar os carimbos de data/hora. Na lista suspensa de tipo de dados, selecione Date/Time. A caixa de diálogo mostra os seguintes formatos de data compatíveis:

Dica: ao converter os dados, você começará com a estrutura de destino ou o formato de seus dados e trabalhar com sua fonte. Este princípio aplica-se ao gerenciamento de colunas e de conjunto de dados.

Figura: formatos de data/hora disponíveis

OBSERVAÇÃO: cada opção disponível tem um conjunto de subopções na lista suspensa exibida.

Neste exemplo de carimbo de data/hora, o formato de destino é o seguinte:

dd-mm-yy hh:mm:ss (dd*shortMonth*yyyy*HH:MM:SS)

Exemplo - Inserir ano

A maneira mais fácil de lidar com a inserção de informações de ano é dividir os dados do carimbo de data/hora em componentes separados e, em seguida, combinar o conteúdo juntamente com essas informações. Uma vez que os dados do carimbo de data/hora acima contêm essencialmente três campos separados (dia do mês, mês e hora), você pode usar um comando de divisão para separar essas informações em três colunas. Destaque um dos espaços entre o "Dia do mês" e o "Mês" e selecione a sugestão de split. A etapa do Wrangle será semelhante a:

Nome da transformação Split column on delimiter
Parâmetro: coluna column1
Parâmetro: opção By delimiter
Parâmetro: delimitador ' '
Parâmetro: número de colunas a serem criadas 2

Agora, os dados serão armazenados em três colunas separadas.

Dica: observe que novos tipos de dados foram aplicados às colunas geradas. Os dados podem ser mais fáceis de manusear quando todos os tipos de coluna são convertidos para o tipo de string.

A próxima etapa envolve a fusão de todas essas colunas novamente em um único campo, com as informações de ano apropriadas adicionadas. Selecione as colunas na ordem em que você gostaria de vê-las no novo campo do carimbo de data/hora. Nesse caso, você pode selecioná-los na ordem em que foram originalmente listados. Quando as três colunas estiverem selecionadas, escolha a opção merge.

Você pode notar que os dados foram formatados sem espaços (19May02:45:38), e ainda não há informações de ano. É possível criar novas colunas contendo um valor de ano (myYear) e depois mesclá-las:

Nome da transformação Merge columns
Parâmetro: colunas column2, myYear, column3, column4
Parâmetro: separador ' '

Depois de inserir as informações de ano e juntar as colunas, você poderá alterar o tipo de dados da coluna para a versão apropriada de Data/Hora.

Exemplo - Inserir fuso horário

Os carimbos de data/hora não são compatíveis com fusos horários diferentes, portanto, essas informações serão armazenadas em uma coluna separada. Para dados dos EUA, os fuso horários podem ser determinados com base no CEP.

OBSERVAÇÃO: se os metadados ausentes não forem compatíveis com parte do valor no sistema de destino, você pode inseri-los como uma coluna separada e, em seguida, aplicá-los aos dados dentro desse sistema.

Para mais informações sobre a inserção de metadados de fuso horário, consulte Adicionar dados de pesquisa.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.