Apostila Completa
Aula 2
Aprenda como fazer uma análise de dados
que vai deixar seu chefe impressionado!
Impressionador do absoluto zero!
Parte 1
Introdução
Introdução
O que vamos aprender
NasegundaauladoIntensivãodoPythonvocêvaiaprenderacriarumcódigodeanálisededados.Nodiaadiadasempresas,
émuitocomumdúvidassobreosresultadosdaempresa.Umconceitoquecadadiamaiscrescenasempresaséodatadriven.
Basicamente,édizerqueaçõessãotomadascombasenosdadosenãoemachismos.
Aprendacomofazerumasuperanálisedozerocomosconceitosabaixo:
Apóstodosessesconhecimentos,seremoscapazesde
transformarumatabelacheiadeinformações,nemum
poucofáceisdesereminterpretadas...
...emumaanálisesuperaprofundadaqueservirãodebasepara
tomadadedecisãodagerência.Tudograçasavocê!☺
Prepare-se para ver além do óbvio.
Importando dados
de bases .csv
Tratar dados usando
a biblioteca Pandas
Importação de
bibliotecas
Criação de gráficos
usando o plotly
2
Asinformaçõesquevãoalimentarnossaanálise,foramextraídas
dositeKaggle(link).Osdadossãoreferentesaclientesdecartão
decréditoeseushábitosdeconsumo,reclamações,etc.
Aimagemaolado,mostraosdadosextraídosemmodelo.csv.
Comopodemosver,osdadosnãoestãoformatadosoquenos
dificultaumpoucoentendercorretamenteoquetemosaqui...
3
Asituaçãoéaseguinte:
Seuchefe,apósolharosresultadosdotrimestre,nãoconsegue
entenderosmotivosparaosclientesdocartãodecrédito
estaremcancelandoseuscartões.
Semtedarnenhumdirecionamento,elepedequevocêfaça
umaanálisequepossaajudá-loaentender/resolveroproblema.
Aúnicainformaçãoquevocêteméumarquivo.csvextraídodo
sistemadaempresa(apresentadoaolado).
Introdução
Entendendo a base de dados
Comovimosnaaula1doIntensivão,vamos
usarbibliotecasquenosfacilitemimportar
dadosdeplanilhasExcel,arquivos.csv,etc.
Novamente usaremosoPANDAS.Casovocê
nãosaibadoqueestamosfalandoaqui,dá
umaolhadinhanaapostiladaAula1do
intensivão!!Láagenteexplicaoquesão
bibliotecaseparaqueservem☺.
VamoscomeçarimportandooPANDAScomo
pd.
Feitoisso,precisamosagorabuscaroarquivo
nonossopc.
Aquinointensivãovamosusarocaminhoao
lado:
6
Importando e visualizando os dados
Importando base de dados (1/2)
/content/drive/MyDrive/ColabNotebooks/ProjetosIntensivãodePython/Aula2/ClientesBanco.csv'
Sevocêacompanhou aaula1doIntensivão,vailembrarqueláusamosafunçãoread_excel()doPandas.Aqui,temosuma
diferença.Comosetratadeumarquivo.csv,precisamosusarafórmula.read_csv()conformeapresentadoabaixo:
7
Importando e visualizando os dados
Importando base de dados (2/2)
Lê o arquivo .csvindicado dentro do parênteses
Local onde o arquivo .csvse encontra Nome do arquivo .csv
Argumento necessário para bases com caracteres como ‘ç’, ’~’.
Atéaqui,nadamuitodiferente...Apenasseatenteaúltimapartedoparênteses:encoding=‘latin1’.
ComooPythonseutilizadecaracteresdoinglês,elenãopossuipordefaultcaracterescomo‘ç’,‘~’,‘^’,queparanósbrasileiros
énormal.
Porisso,quandolidamoscombasesquepossamterestestiposdecaracteres,éimportanteusarmosesteargumentoaofim
doread_csv.
Cadavezmais,saberquedadossãoúteisou
nãoéalgofundamentalnodiaadiado
trabalho.
Émuitocomum, termosbasesdedados
ENORMES extraídasdesistemas.
Sabersepararoqueéútildoquenãoé,é
fundamentalparaumaboaanálisededados.
Vamosvoltarparanossoexemplo,sabemos
queochefenãoestáperguntandoomotivo
doFULANO tercanceladoocartãoesim
porque temos CLIENTES cancelando o
cartão....
Portanto,aodarmosumaolhadarápidana
nossabase(printaolado)podemosverque
temosumacolunaCLIENTENUM .Nãonosé
interessantepoiséuma informação
irrelevanteparanossoestudo.
Sendoassim,podemos retirá-ladanossa
tabela.Vamosvercomo,aseguir.
8
Importando e visualizando os dados
Priorizando os dados importados (1/2)
A coluna CLIETNUM
não nos é relevante.
Podemos retirá-la de
nossa base para
aumentar a
eficiência do código.
PararetirarmosacolunaCLIENTNUM,vamos
usarométodoabaixo:
.drop()
Estemétodo seráaplicadonavariável
clientes_dfcriadanaprimeiralinhadocódigo
parareceberosdadosdoarquivo.csv.
Este método necessitará de alguns
argumentos:
•Nomedacolunaoucódigodalinhaaser
removida:(‘CLIENTNUM’)
•Qualdoseixosdeveserexcluído:
•0ou‘index’seráapagadaalinha
indicada;
•1ou‘columns’seráapagadaacoluna
indicada.
9
Importando e visualizando os dados
Priorizando os dados importados (2/2)
Coluna CLIENTNUM retirada
Bem,jáimportamosnossabasededados...
Agoravamostentarvisualizá-la!
UsamosafunçãoDISPLAY()paraexibirnossos
dadoscoletados.
Lembracomoeradifícilentenderosdados
quandoestavamem.csv?
Comopandasessavisualizaçãoficabemmais
amigáveleprática.
Percebatambém quejáexcluímosacoluna
CLIENTNUM quenãoqueríamos.
IMPORTANTE:Abaseoriginal,NÃOfoiafetada.
10
Importando e visualizando os dados
Visualizar a base de dados importada
10127 linhas
20 colunas
Função displayque apresenta os dados armazenados na variável df
Parte 3
Tratamento e visão
geral dos dados
Émuitocomum quebasededadosextraídasde
sistemaspossuamdadosfaltantese/oudadosque
nãosãocorretos.
Todosessesdadosinfluenciamdiretamentenos
resultadosobtidosnanossaanálise.
Imagineumcasogenéricoemqueprecisocalculara
médiadeconsumo decartõesdecrédito.Caso
existamdadosfaltantesquepossamserconsiderados
comovalor0,meucálculodemédiaseráafetado
diretamente.
Assim,ésempreimportanteantesdequalqueranálise
avaliarseprecisamostratarestabasededadosou
não.
Paraocasodescritoacima,quetemosdados
faltantes,usaremosumavariaçãodométododrop:
.dropna()
Estemétodoretirarálinhasquepossuamdados
vazios/faltantes..
12
Tratamento e visão geral dos dados
Limpando a base de dados
10126
linhas são
não Nulas.
Número de
linhas
Quando estamos trabalhando com grande
quantidadededadosquenãoconhecemosafundo,
éinteressantefazeralgumasanálisesexploratórias
quenospermitamentenderumpoucomelhor
comoestãodistribuídosessesdados.
Umadasformasdefazeressaanáliseexploratória,é
pormeiodaestatística.
NoPandasvamosusarométodoabaixo:
.describe()
Essemétodo,nosforneceasinformaçõesabaixode
cadaumadascolunasexistentes:
•Count:Númeroderegistrosnalinha;
•Mean:Médiadosvalores;
•Std:DesvioPadrãodosvalores;
•Min:Menorvalorentreosdados;
•25%:1ºQuartil–Valorondetemos25%dosdados;
•50%:2ºQuartil–Valorondetemos50%dos
dados;
•75%:3ºQuartil–Valorondetemos75%dosdados;
•Max:Maiorvalorentreosdados
13
Tratamento e visão geral dos dados
Análise descritiva dos dados
O .describenos fornece uma análise descritiva dos dados e de sua distribuição.
Nacoluna‘Categoria’,temos2opçõesde
resultados:
•Cliente;
•Cancelado.
Comoédenossointeresseentenderamotivação
doscancelamentos,éinteressantedividirmosestes
doisgrupos.
Paraisso,vamosusarmaisummétododopandas
nanossabaseclientes_df:
.values_counts())
Percebaqueusamosotermo[‘Categoria’]para
indicarqueestamosusandoapenasestacolunada
basededadosarmazenadanavariávelclientes_df.
14
Tratamento e visão geral dos dados
Divisão de clientes e cancelados
Número de clientes e número
de cancelamentos
% de clientes e cancelamentos
do total de dados
Parte 4
Analisando os dados
Oquevamosverdaquiparaafrente,vaialém
doPythonemsi.
Poderíamosexplicarmilhõesdeformasde
analisarosdadosdoPython,masumacoisaé
essencial:
O QUE EU QUERO RESPONDER?
Entenderseuproblemaéfundamental.Assim,
serápossívelorientarsuaanálisepararesolver
oproblema.
Entãovamoslá!
Nossoproblemaé:
“Aumento docancelamento decartãode
crédito.”
Oqueeuquero:
“Entenderosprincipaismotivosquelevamao
cancelamentoparaassimgerarumplanode
ação”
16
Analisando os dados
Como seguir?
Umdoscaminhosmaiscomunseusuaisparaanalisarmososdadoséatravésdeumaanálisegráfica.
Temosumtotalde20colunas,cadaumadelasnosforneceumainformaçãodistinta.Fazeranálisegráficadestesdadospode
serumtantoquantorepetitivaporseremmuitosdados.
ParafazermosissoumpoucomaisrápidovamoscriarumafunçãoquegeragráficosautomaticamenteviaPython.
Sevocênãosabeoquesignificacriarumafunção,dáumaolhadinhanaapostiladaaula1dointensivão.Lá,explicamosum
poucomais☺
Onomedanossafunçãoserágráfico_coluna_categoriacom2argumentoscolunaetabela.
Vamosimportarmaisumabibliotecaparanosajudarnesteprocesso:plotly.express
17
Analisando os dados
Análise gráfica –criando uma função (1/2)
Importando biblioteca plotly.express
Criação da função
Indentaçãorepreesntandoque essas
linhas pertencem ao def
Vamoscontinuaraavaliarasoutraslinhasde
códigodanossafunção.
Primeiramente,vamosprecisarcriaruma
variávelfigquereceberáosdadosaserem
printados.
Essesdados(gráfico)serãocalculadosa
partirdousodométodo.histogram().
Podemosverqueosargumentosnecessários
são:
•Tabela:argumentodafunção,deveráser
fornecidonomomento deativaçãoda
funçãopelousuário;
•X=coluna:SerãodadosdoeixoX.Os
valoresqueexistemnacolunafornecida
pelousuárionomomentodaativaçãoda
função;
•Color=‘Categoria’:Ográficoterácores
diferentesparadiferentesvaloresda
coluna‘Categoria’
18
Analisando os dados
Análise gráfica –criando uma função (2/2)
Variável para recebimento
das informações calculadas
Biblioteca plotlyexpress
Método e seus
argumentos
Método .show para que seja
exibido as informações da
variável fig
Agoraquetemosumafunçãoquenosauxilia
nacriaçãodegráficos,podemoscriaruma
linhadecódigoquegeraosgráficospara
cadaumadascolunasexistentes.
Paraisso,vamosusaroconceitodeestrutura
derepetiçãopormeiodoFOR.
19
Analisando os dados
Criando os gráficos (1/4)
Usando a função gráfico_coluna_categoriapara a base
clientes_df
FOR coletará todos as colunas da tabela clientes_df
IndentaçãoFor
Como foidito,em apenas um for
conseguimos criartodososgráficos
disponíveis.
Oeixoxsempreseráonomedacoluna.
Issojáeraesperadovistoqueaofazermosa
nossafunçãoparametrizamosx=coluna:
Alémdisso,podemosperceberqueosdados
quepossuemvalordacolunaCategoriacomo
cancelado,sãorepresentadosemumacor
distintaaosclientes.Issotambém esa
esperado visto a parametrização
color=‘Categoria
20
Analisando os dados
Criando os gráficos (2/4)
Nome da coluna
Nome da coluna
Assim,temosváriosoutrosgráficosquenospermitemanalisardemaneiramaisprofundaonossoproblema.
BoapartedoproblemadaquiparaafrenteémuitomaisumaquestãodeanálisedoquePythonpropriamentedita.
Porexemplo,dos4gráficosabaixopodemosperceberqueexisteumaconcentraçãodecancelamentosrelacionadosa
Quantidadedetransações.Essainformaçãopodeseroiníciodeumaanálisemaisaprofundada.
21
Analisando os dados
Criando os gráficos (3/4)
Cancelamentos
mais concentrados
em baixos níveis
de transações
Voltandoparaacriaçãodegráficos.
Épossívelquevocêqueiracustomizarseus
gráficosparaquefiquemmaisatrativosou
paraexibiralgumainformaçãodoseu
interesse.
Valelembrarqueutilizamosumabiblioteca
paraacriaçãodestesgráficos,oplotly:
Oplotlyporsisópossuiumadocumentação
vastaedetalhada de todas as
customizaçõesealteraçõesqueabiblioteca
permite.
Casovocêtenhainteresseésóacessar:
Paratodostiposdegráficos:
https://plotly.com/python/
Paranossocasoespecíficodehistograma:
https://plotly.com/python/histograms/
22
Analisando os dados
Criando os gráficos (4/4)
Ainda não segue a gente no Instagram e nem é inscrito
no nosso canal do Youtube? Então corre lá!
@hashtagprogramacao
youtube.com/hashtag-programacao