Seu primeiro projeto em Python: Análise de Dados com Pandas Profiling
Fala pessoal, tudo bem?
Depois de algumas pesquisas e conversas no LinkedIn sobre Análise de Dados (que muitos consideram que precisam aprender), resolvi escrever esse artigo para incentivar você a fazer o seu primeiro código no Python.
Nada de “Hello World”. É importante saber, mas pouco prático. A ideia aqui é montar algo mais aplicado e com valor para a vida real.
Muito código super-power por aí é 80% ctrl+c ctrl+v!
E é isso que vou te ensinar.
Abra o Google Colab e vai copiando o código que vou passar, passo a passo. Parece simples, mas não é tanto se você nunca viu o funcionamento.
Minha ideia é tentar atender aqui você, que nunca usou código na vida e percebeu que sua vida pode ser melhor com ele.
Vou sair daqui “profissa”?
Não vai, pois minha ideia aqui é atender o maior número de pessoas, que assim como eu queriam aprender código para ajudar na sua vida, fazer análises mais rápidas e melhores.
O que você poderá ter aqui é capacidade de extrair um relatório de Análise de Dados Completo, com algumas visualizações de Bônus. Com um pouco de leitura e contexto, conseguirá dizer com detalhe o que está se passando com sua base de dados, principais tendências e potenciais problemas nela.
Também com esse código conseguirá brincar com bases de dados mais reais, de trabalho e com poucas alterações.
Ou seja, aprender e depois replicar para um caso real.
Vai precisar de um ajuste simples, mas vai dar certo.
E vai ensinar Machine Learning?
Não nesse artigo, pois há diferenças grandes entre Machine Learning e Pastel.
Um pastel em dois minutos você frita. Um modelo é um pouco mais complicado, mas chegamos lá! Aqui vamos preparar a “massa”.
Acredite em mim, isso que vou te ensinar já ajuda um montão!
Pratique várias vezes, pois a Análise Exploratória é metade do código de uma modelagem. O resto são técnicas que variam conforme a estrutura dos dados.
Arregaçando as mangas!
Primeiro Passo: Baixar os Dados e abrir o Google Colab.
EDIT: algumas pessoas não conseguiram baixar do Kaggle e não encontram mais o dataset.
Disponibilizo uma cópia aqui
Para esse tutorial vamos usar os dados da Houses to Rent, uma base de 10 mil imóveis no Brasil para alugar, disponível em https://www.kaggle.com/rubenssjr/notebook?select=houses_to_rent_v2.csv
Ele tem algumas informações básicas sobre os imoveis, como classes, cidade, valor do aluguel e área do imóvel. Para este exemplo, utilizarei a V2.
Vamos baixar o arquivo .zip, extrair o .csv e salvar no Google Drive.
Bora pro Google Colab!
colab.research.google.com ou faça uma busca por Google Colab.
Após você usar o mesmo login e senha da sua conta Google (mesma do Gmail), o colab está pronto para uso!
À esquerda, você verá uma “pastinha”, onde estão os Files. clique na pastinha e no ícone do Google Drive (último à direita).
Ele vai mostrar que você montou o Drive, mas caso não tenha feito esse passo, aí vem o primeiro código.
from google.colab import drive
Leia com atenção, aqui ele pode te pedir uma autenticação em dois passos, basta seguir as instruções. Em alguns casos você precisa colar um link de autenticação.
Meu diretório no Google Drive é My Drive/Colab Notebooks/Data, onde salvei o arquivo. Aqui, basta mudar o código para a pasta onde salvou o arquivo já extraído
*A sugestão é começar no arquivo raiz do Drive, ‘/content/drive/My Drive/
!ls '/content/drive/My Drive/'
Esse comando te mostrará tudo que está disponível nessa pasta. Veja se o arquivo houses_to_rent_v2.csv está lá.
Carregando os Dados
Aqui vou usar o “pacote” Pandas (acostume-se com esse nome, pandas é uma das principais libraries para dados no Python) com o apelido pd e usar a primeira função dele, a read_csv.
E vou inserir o caminho completo de onde está meu arquivo dentro dos parênteses e sempre com aspas (única ou dupla, tanto faz).
import pandas as pd Dados = pd.read_csv('/content/drive/My Drive/houses_to_rent_v2.csv')
Chamei minha base de dados com um nome muito criativo (risos), “Dados”. É pouco criativo, mas fica claro.
Verificando o carregamento
Agora basta olhar os dados que foram carregados. Pedirei ao Python para mostrar o cabeçalho (head) da minha base, chamada “Dados”, com os 10 primeiros itens:
Dados.head(10)
E vai aparecer algo mais ou menos assim:
Começou o Hack!
Vamos utilizar um gerador de Relatório de Dados chamados Pandas Profiling.
No Google Colab é um pouco mais chatinho que o normal, mas com o código certo é bem simples.
Primeiro passo é instalá-lo, pois ele não vem na lista de pacotes (libraries) pré-instalados.
! pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip
Aqui ele vai começar a instalar o pacote, e você verá uma série de linhas de processamento. Espere acabar.
Importante: terminado esse passo, vá ao menu “Ambiente de Execução” e selecione executar tudo. Ele vai reprocessar as células anteriores.
Esse passo também você precisa usar apenas uma vez! Da próxima vez que usar esse código já pode pular para o próximo.
from pandas_profiling import ProfileReport
Aqui você vai carregar a library do ProfileReport, aquele que você acabou de instalar. Sim, o Python é assim, você tem que “chamar (com import)” tudo que vai usar, mesmo se já estiver instalado.
Agora, vamos finalmente gerar o relatório!
profile = ProfileReport(Dados, title='Dados Alugueis Capitais', html={'style':{'full_width':True}}) profile.to_notebook_iframe()
Traduzindo o que eu fiz:
Criei um “objeto (essa série de comandos)” chamado profile, para que eu não tenha que reescrever sempre a linha toda.
Esse objeto profile (nome que eu dei) vai gerar o relatório (ProfileReport), a partir do objeto Dados (que eu criei carregando o csv), com o título que eu criei (‘Dados Alugueis Capitais’, entre aspas) , formato HTML com largura da página (no caso do Colab).
O resultado é um relatório completo e interativo, com os menus.
O relatório também tem as correlações de cada variável, em diversos métodos e ainda descreve o conceito.
Legal, não é mesmo?
Então vamos para o final! Salvá-lo no Google Drive.
Aqui uso o comando profile.to_file e escolho o endereço de onde quero o relatório final de resultado.
Lembre-se de salvar num caminho que já existe no seu Google Drive, e não esqueça das aspas.
profile.to_file(output_file='/content/drive/My Drive/Pandas Profiling Report — Moradia .html')
Pronto! Você criou um código extrator de relatório com 9 comandos!
Se quiser mudar a base de dados para trabalhar, basta salvar no mesmo local e trocar o endereço na linha pd.read_csv!
Se por acaso o seu arquivo for em Excel, troque a função pd.read_csv por pd.read_excel
Dicas Finais:
- O Python é um inteligente muito burrinho… Vai devagar e passo a passo, não esqueça das aspas onde precisa e não ponha onde não precisa.
- Esse é um exercício para ganhar confiança e ao mesmo tempo trazer algum valor para o trabalho!
- Você que quer saber de Análise de Dados, estude o que cada campo do relatório significa e busque entender o que você pode concluir de cada uma das informações presentes. Se os dados fossem uma pessoa e fizesse um check up, esses seriam os principais exames!
- Quando você trabalha bases pequenas pode pensar: ah, faço isso no Excel, no Tableau, no raio que o parta… Verdade. Mas quando você pula de 5 colunas para 25, verá o grande ganho.
- Lixo in, Lixo out. Não trabalhamos com limpeza de dados e nem deveríamos a esse ponto! Um Profiling ajuda inclusive a te mostrar onde devemos “limpar”! Leve em conta que para uma análise mais conclusiva, pode ser necessário trabalhar com a higienização e filtros nos dados por enquanto. Inicialmente e para não perder tempo, é possível começar essa etapa no Excel.
Caso queira ver como montei o notebook no Colab, pode ver aqui.
Um Abraço!
** Este texto não reflete, necessariamente, a opinião da Escola de IA
1 Comentário
Bom dia
Muito bom
Você tem exemplo de como gerar um relatório em PDF buscando informações em tabelas MYSQL?
Relatório com cabeçalho, quebra de paginas….
Obrigado,
Att: Carlos Antonio.
31 9 9981 9003
Até mais