Apostila Intensivo Python - Desafio 2.pdf

andersonkerlly1 70 views 24 slides Nov 06, 2023
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

Linguagem de programação python


Slide Content

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

Nessecaso,asoluçãofinalpodemserdiversas!
Estamosaquitratandodeanálisededados.Boa
partedasoluçãoaquiénãoconhecidanesse
estágio.
Quandoencontramos essescasosémuito
importante,maisatédoqueasoluçãoemum
primeiromomento,qualoproblema.
Naaulaenaapostilavamosfazerumaanálise
exploratóriadedadosebuscardirecionadores
decausasraízquepodemseratacadasvisando
omaiorretornocomomenoresforço.
ParaissoutilizaremosoPythonparanosajudar
emanálisesgráficasdosdadoscomoesteaqui
dolado☺
4
Introdução
Entendendo a solução final

Parte 2
Importando e
visualizando os 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
Tags