Mantendo seus dados tão atualizados e tão limpos

Nov 29 2022
Uma lista de reprodução para dados totalmente limpos Tenho consumido muito conteúdo de análise e ciência de dados, e uma das principais conclusões que descobri é que não há nenhum modelo que você possa construir que gere insights acionáveis ​​se você alimentá-lo com dados inúteis. Um dos meus instrutores afirma que a primeira coisa que os novatos precisam aprender é o princípio GIGO.

Uma lista de reprodução para dados totalmente limpos

Foto de Marcela Laskoski no Unsplash

Tenho consumido muito conteúdo de ciência e análise de dados, e uma das principais conclusões que descobri é que não há nenhum modelo que você possa construir que gere insights acionáveis ​​se você alimentá-lo com dados inúteis. Um dos meus instrutores afirma que a primeira coisa que os novatos precisam aprender é o princípio GIGO. Bem, ele colocaria de forma mais sucinta e diria que seria melhor gastar 80% do seu tempo limpando seus dados em vez de construir um modelo brilhante que você alimenta o lixo.

O Princípio GIGO (Garbage In = Garbage Out) sustenta que os modelos são semelhantes aos humanos e são o que eles consomem. Além disso, se você alimentar seu modelo com dados não refinados, pode esperar que suas métricas sejam atenuadas pelas imprecisões que se acumulam ao longo de seu pipeline de dados.

Com isso em mente, criei uma lista de reprodução para manter minha mente focada durante a limpeza de dados e pensei que você pode achar útil se for novo em pesquisar dados como eu.

Vamos começar com os dados que estão no .csvformato de arquivo e também importamos todas as bibliotecas e pacotes de visualização necessários para construir um modelo.

Portanto, minha primeira etapa típica é criar um quadro de dados chamado dfque uso pd.read_csvpara criar.

df = pd.read_csv('myfile.csv', index_col = 0)

Depois de ter um quadro de dados inicial, limpo os dados. A música inicial da minha lista que normalmente ouço enquanto leio o .csvarquivo e crio meu quadro de dados inicial é:

Dourado de Jill Scott

Dados de limpeza

Para limpar os dados, geralmente gasto muito tempo:

  • Remoção de duplicatas — duplicatas ocupam espaço, podem retardar a implementação de modelos e podem levar a percepções errôneas.
  • Substituir valores ausentes - embora não haja uma maneira ideal de lidar com valores ausentes, aprender a lidar com valores ausentes é uma habilidade que os nerds de dados iniciantes devem desenvolver.
  • Substituir valores de espaço reservado — espaços reservados como: '—,' NANs, '?' e '#' consistentemente atrapalham o trabalho e levam a erros vistos e não vistos na análise. Se você tiver sorte, as mensagens de erro são abundantes; se você for extremamente azarado, notará depois de tentar visualizar a correlação entre variáveis ​​dependentes e independentes e obter gráficos visivelmente improváveis.
  • Conversão de tipos de dados para tipos de dados mais apropriados —Muitas vezes, isso aparece quando ingenuamente trato uma variável categórica (pense em algo com um número fixo de valores) como se fosse contínua (algo que pode ter qualquer valor entre um mínimo e um máximo) .

Eu olho para a forma do quadro de dados, praticamente preciso saber com quantas linhas e colunas estou trabalhando e preciso organizar para envio. Enquanto toco com o lendário vocalista da Filadélfia, Pensilvânia, uso o seguinte:

  • df.shape— Revise as dimensões dos dados
  • df.info()— Revise um resumo conciso dos dados
  • df.head()— Revise as cinco primeiras linhas dos dados (você pode aumentar esse número adicionando um número n dentro dos parênteses ex df.head(10)resultará nas primeiras dez linhas dos dados.

Depois de aprender os recursos básicos dos dados, verifico todo o quadro de dados em busca de espaços reservados, geralmente com algo parecido com o seguinte:

df.isin['?', '#', 'NaN', 'null', 'N/A', '-']).any()

Normalmente é quando começo a ouvir artistas de reggae da velha escola como Baby Cham, Capleton e Sean Paul, que trazem de volta a nostalgia de meus projetos do ensino médio no laboratório de física com o Sr. Green, que tinha a melhor trilha sonora de reggae rítmica em no final dos anos 90 no East Side de New Providence, nenhum bar.

Revisando as Alterações

Depois de identificar os espaços reservados, eu uso etapas como esta enquanto toco o reggae da velha escola:

df['column_with_placeholder'] = pd.to_numeric(df['column_with_placeholder'], errors = "coerce")

Mantendo o ritmo

Normalmente, faço a transição para congestionamentos sujos do Sul enquanto removo duplicatas e decido se vou descartar linhas do quadro de dados com valores nulos ou substituí-los pela mediana ou modo. Meus artistas favoritos desse gênero são da Dungeon Family.

Minha lista de reprodução normalmente se parece com isso:

  1. Jill Scott- Dourado
  2. Baby Cham com Alicia Keys — Ghetto Story
  3. Wayne Wonder - Sem Desistir
  4. Sean Paul - Temperatura
  5. Beenie Man - Romie
  6. Família Dungeon - Excalibur
  7. Erykah Badu — Continuando
  8. Outkast — Ei, você!
  9. Outkast - Rosa Parks
  10. Lauryn Hill — Ex Factor

Gostaria de incluir mais flexibilidade e variedade na minha lista de reprodução:

  • Como uso a ciência de dados para criar uma lista de reprodução melhor?
  • Atualmente, estou trabalhando na criação de uma ferramenta de planejamento de viagem para ajudar em minha próxima viagem às Bahamas para ajudar a comemorar nosso 50º ano de independência.

Se você gostaria de ser atualizado com meus artigos mais recentes, siga-me no Medium . Você também pode se conectar comigo no LinkedIn ou enviar um e-mail para [email protected].