Análise de Dados de Python Com Pandas
Análise de Dados de Python Com Pandas
html#
Descrição
Propósito
Preparação
1 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Objetivos
Módulo 1
Módulo 2
Módulo 3
2 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Módulo 4
Introdução
A análise de dados é fundamental para a inicialização de qualquer
projeto de sistemas de informação, uma vez que nos trará insights
de como melhor desenhar o processo, além do que nos foi
entregue no levantamento de requisitos.
3 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Esse é um dos principais objetivos do Python, que foi idealizado para ser
parecido com o inglês de modo que, quando qualquer pessoa fosse ler
os códigos fontes, poderia entender facilmente, independentemente de
ser especialista.
5 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Curiosidade
Atenção
6 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
7 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
Ou
Python
8 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Ou
Python
• Absoluto.
9 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Agora você deve estar ainda mais intrigado sobre a razão de um arquivo
__init__.py vazio! Sabe o por quê?
Resposta
10 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Atenção
Terminal
Terminal
11 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Terminal
Terminal
12 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Terminal
Comentário
13 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Ativos de dados
Falaremos agora dos dados. Afinal, qualquer sistema de informação
tem como entrada dados que serão processados pelos seus programas
até saírem como informação relevante. No caso de projetos em Python,
os dados podem vir externamente por meio de captação (scraping) ou
de artefatos de dados que nada mais são do que planilhas, textos, entre
outros arquivos que são usados localmente mesmo.
Ativos de dados.
Comentário
14 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Comentário
Biblioteca Pandas
A manipulação de dados em Python, em sua esmagadora maioria, é
feita com DataFrames, uma vez que são estruturas muito mais cômodas
e robustas de se trabalhar do que matrizes. Antes de falarmos dos
DataFrames em profundidade, precisamos explicar o Pandas.
15 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Comentário
Introdução aos componentes e à
sintaxe de Python
No vídeo a seguir, abordamos os principais componentes e a sintaxe
básica da linguagem Python para a análise de dados.
16 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 1
17 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
A start; quit.
B startvenv; !venv.
C venv; ~venv.
D venv; deactivate.
E activate; deactivate.
Questão 2
18 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
A Comparação
B Atribuição
C Laço
D Condicional
E Escopo
19 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Coleta de dados.
20 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
21 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Existe ainda uma diferença no que tange à obtenção dos dados em si,
classificados como dados primários e secundários. Vejamos a seguir.
Dados primários
O que são:
São aqueles coletados de primeira mão, ou seja, dados que ainda
não foram publicados, autênticos ou inéditos.
Vantagens:
São dados puros, coletados para a resolução de um problema
específico e, se necessário, podem ser coletados novamente a
qualquer momento para aumentar a quantidade.
Dados secundários
O que são:
São aqueles dados que já foram publicados de alguma forma, ou
seja, sofreram alguma interferência humana. Por exemplo, ao
fazermos a revisão de literatura em qualquer estudo, estamos
revisando dados secundários.
22 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Vantagens:
Economia de tempo em não ter que desenvolver um sistema de
coleta, menor custo e delegação de responsabilidade (em relação
aos dados) do profissional para o dono dos dados originais.
Comentário
23 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Atenção
Regularização de dados
Os dados coletados, além de poderem ter sido corrompidos ou
simplesmente estar faltando, podem estar com ruídos, ou pelo menos
24 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Ponto fora da curva. Podemos ver que o ponto se distancia demais da média e das variâncias
esperadas do boxplot.
25 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
A fórmula é:
d_observado
(d_max − d_min)
Python
26 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Atenção
A função de leitura do Pandas é tão poderosa que pode ler arquivos não
convencionais como lista de dicionários, bastando utilizar o método
read_json, por exemplo, que tem um atributo específico chamado orient,
que vem de orientação, uma vez que a lista de dicionários pode ser
passada como record, ou seja, por vetor de registros, ou, ao contrário,
split, que é vetor de valores de coluna variável.
Python
27 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
Python
28 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
Comentário
29 of 66
Preparação de dados para análise no 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
30 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 1
A deletar os dados.
B embaralhar os dados.
D atualizar os dados.
31 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 2
32 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
33 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
DataFrames e tabelas
Uma característica interessante na estrutura de dados de DataFrame ou
dados em painel é o fato de poderem ser criados a partir de
praticamente qualquer outra estrutura. Podemos criar Pandas
DataFrames a partir de arquivos CSV, Excel, listas de dicionários,
matrizes, junções de listas etc.
Comentário
Python
34 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Terminal
Python
35 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Terminal
Python
36 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Manipulação de dados em
DataFrames
Como mencionamos, os DataFrames são similares a tabelas, como as
dos bancos de dados convencionais PostgreSQL, MySQL, DB2 etc. Tais
estruturas contam com operações muito parecidas com as de projeção,
seleção, deleção e junção.
Comentário
Python
37 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
‘viper’
A primeira com apenas uma coluna.
‘viper’, ‘sidewinder’
A segunda com duas colunas.
Print 1
38 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Print 2
Print 3
Print 4
Print 5
Outros prints
39 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Outros prints
Python
Por fim, temos o jeito de fazer seleções e projeções por queries. Assim
como nos bancos de dados SQL, isso é bastante intuitivo. No primeiro
print, temos uma query que retorna dados cujo valor da dimensão A é
maior do que o da dimensão de B. Já a segunda query é uma igualdade,
em que desejamos os dados cujo valor da dimensão B seja igual ao da
dimensão 'C C' (repare que, dentro da query, o que for textual, seja valor
ou dimensão, tem de ser declarado com o acento crase (`) ). E, por fim,
40 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
ou dimensão, tem de ser declarado com o acento crase (`) ). E, por fim,
um último jeito de filtrar é passando a referência da coluna no colchete
do DataFrame.
Python
Ou
Python
Python
41 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
Ou
Python
42 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
Esse exemplo realiza a junção entre as séries pelos seus indexes. Basta
definir o axis=1, pois normalmente o concat, quando não declarada a
axis ou usando axis=0, fará uma união entre os dados. Após um concat,
pode ser feito um reset_index também, mas podemos encurtar esse
passo declarando dentro do pd.concat() o parâmetro ignore_index=True.
Python
43 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
Comentário
44 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Groupby e apply
Agora veremos como fazer agregações em DataFrames, que são as
operações mais utilizadas para a análise dos dados, bem como para a
extração de estatísticas básicas, possibilitando uma compreensão
holística do conjunto de dados. Ao agregar dados, estamos reduzindo o
conjunto e resumindo-o a métricas, estatísticas e agrupamentos.
Python
Comentário
Python
46 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Manipulação de dados com Pandas
No vídeo a seguir, abordamos as técnicas de manipulação de dados
para análise no Python.
47 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 1
48 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 2
49 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
50 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Tipos de dados
No mundo de Big Data, temos dados os mais variados possíveis, que
isoladamente podem não significar muito, mas com o devido
processamento, podemos extrair informação útil e conhecimento para
tomada de decisões. Neste módulo, para fins de visualização de dados,
vamos nos ater à seguinte classificação: dados numéricos, dados
categóricos e dados temporais.
Dados numéricos
Dados categóricos
Dados temporais
51 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Atenção
Tipos de visualizações
Para cada tipo de dado, temos visualizações mais adequadas ou que
ressaltam melhor o significado por trás do conjunto de dados.
Python
52 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
53 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Python
54 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Comentário
Python
55 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Gráfico de pizza mostrando a proporção dos valores distintos de dias da semana no conjunto de
comandas (data.tips) - resultado da execução do código anterior.
Python
56 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Expectativa de vida ao longo dos anos para Austrália e Nova Zelândia (data.gapminder) -
resultado da execução do código anterior.
Atenção
Biblioteca Plotly
Para elaborarmos todas essas visualizações escolhemos trabalhar com
o Plotly, uma biblioteca de visualização do Python muito adequada ao
ambiente do Jupyter Notebook, uma vez que suas visualizações são
interativas, podendo passar com o mouse por cima dos gráficos e
enxergar dados com mais detalhes, bem como operações de zoom,
pane, export etc.
57 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Terminal
Python
Por exemplo, caso você queira algo diferente, use um bubble chart:
Python
58 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Gráfico de bolhas da expectativa de vida pela renda per capita agregado por país, em que o
tamanho da bolha é dado pela população do país - resultado da execução do código anterior.
Visualização de dados no Python
No vídeo a seguir, abordamos as técnicas de visualização de dados para
análise no Python.
59 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
60 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 1
61 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Questão 2
62 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Considerações �nais
Como vimos, a linguagem Python pode ser uma ferramenta fundamental
para a análise de dados. Esta, por sua vez, é essencial para iniciarmos
bem qualquer projeto de um sistema de informação na área de
aprendizado de máquina e ciência de dados.
Tópicos relevantes em análise de
dados no Python
Ouça no podcast a entrevista sobre análise de dados no Python.
63 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Explore +
Para dar sequência ao seu estudo, teste mais formas de gerenciar o
Python e suas versões com o Pyenv.
Referências
AMARAL, F. Aprenda mineração de dados: teoria e prática. Rio de
Janeiro: Alta Books, 2016.
64 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Download material
65 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#
Relatar problema
66 of 66 09/01/2024, 19:20