0% acharam este documento útil (0 voto)
7 visualizações

Análise de Dados de Python Com Pandas

Enviado por

Álvaro Araújo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações

Análise de Dados de Python Com Pandas

Enviado por

Álvaro Araújo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 66

Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.

html#

Análise de dados de Python com Pandas


Prof. Fernando Cardoso Durier da Silva

Descrição

Análise e preparação de dados, incluindo pré-processamento e


alimentação do processo, e apresentação visual de resultados usando
bibliotecas da linguagem Python.

Propósito

Compreender a análise de dados em Python é fundamental para o


cientista de dados, por ser uma das linguagens mais utilizadas para
esse tipo de tarefa, não só pela automatização, mas também pela
robustez de suas bibliotecas de apoio.

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#

Para a compreensão e reprodução dos exemplos, é imprescindível ter


instalado, em sua máquina de estudos, o Python na versão 3.8 ou
superior, as bibliotecas Pandas, Numpy e Plotly. Será necessária
também uma ferramenta para execução de notebooks, como Jupyter,
que pode ser instalado como uma biblioteca do Python. Nesse contexto,
notebooks são arquivos com extensão IPYNB que contêm documentos
gerados pelo ambiente de desenvolvimento interativo, usados por
cientistas de dados que trabalham com a linguagem Python.

Objetivos

Módulo 1

Componentes e sintaxe do Python para


análise de dados
Reconhecer os componentes e a sintaxe do Python para análise de
dados.

Módulo 2

Preparação de dados para análise no Python


Descrever a preparação de dados para análise no Python.

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#

Manipulação de dados no Python


Descrever a manipulação de dados no Python.

Módulo 4

Visualização de dados no Python


Aplicar a visualização de dados no Python.

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.

Atualmente, com os avanços da tecnologia, a automatização da


análise de dados se dá de forma menos flexível com sistemas de
análise dedicados, principalmente graças a linguagens de
programação que nos possibilitam escrever desde simples scripts
até sistemas inteiros de modelos exploratórios de dados.

Uma das linguagens mais utilizadas para tal é o Python, linguagem


plena de recursos graças às suas bibliotecas de ciência de dados,
processamento de dados, análise de séries temporais etc.

Vamos aprender os principais componentes do Python, sua sintaxe

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#

Vamos aprender os principais componentes do Python, sua sintaxe


para análise de dados e uma série de recursos e técnicas que serão
instrumentais para o sucesso de nossas análises. Também
entenderemos os tipos de dados e quais cuidados devemos tomar
com eles para extrair o melhor dos conjuntos de dados a serem
analisados, bem como saber onde procurá-los.

Por fim, aprenderemos como visualizar os dados para concretizar


nossas análises e obter insights imediatos.

1 - Componentes e sintaxe do Python para análise de dados


Ao �nal deste módulo, você será capaz de reconhecer os componentes e a sintaxe do Python
para análise de dados.

Introdução aos componentes e à


4 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#

Introdução aos componentes e à


sintaxe de Python
A linguagem Python é chamada de linguagem de alto nível por causa da
sua abstração com relação ao hardware e aos registros, diferente de
Assembly por exemplo.

Linguagens de programação de alto nível têm mais


distância do código de máquina e mais proximidade com a
linguagem humana.

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#

Ícone da linguagem de programação Python.

Curiosidade

Por mais que o símbolo da linguagem seja o da serpente constritora não


venenosa Python (Píton), a origem do nome da linguagem, na realidade,
refere-se ao grupo humorístico britânico Monty Python, criadores da
série cômica o Circo Voador de Monty Python (Monty Python's Flying
Circus). Em contrapartida, os comediantes resolveram homenagear Lord
Montgomery (Monty), oficial do exército britânico, e queriam uma
palavra evasiva como Python, aqui sim se referindo à serpente.

Grupo Monty Python.

Atenção

Diferentemente de linguagens de médio nível como C e Java, Python


não precisa declarar o tipo de suas variáveis, o que se alinha também
com o objetivo de imitar o idioma inglês, mas, ainda assim, seus tipos
são fortes, ou seja, não sofrem coerções.

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#

Falando em sintaxe, a primeira regra que devemos observar é a de


indentação, que serve para separar blocos lógicos, de loop, classes e
funções.

A indentação é feita por recuo com espaços em branco após o bloco


lógico em questão; para o interpretador da linguagem, isso se traduz em
ler primeiro a linha de função e, dentro da indentação, a sua
parametrização.

A declaração de dados não precisa do preâmbulo de tipos para dizer


que a variável é do tipo inteiro ou string, mas os tipos de dados são
associados às variáveis em Python, mesmo não sendo declarados
explicitamente. Entre eles, temos:

Quadro: Tipos de dados e variáveis em Python.


Elaborado por: Fernando Durier.

Temos também as construções clássicas de controle de execução de


comandos, como na maioria das linguagens de programação, por
exemplo:

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#

Quadro: Tipos de comandos em Python.


Elaborado por: Fernando Durier.

Para definirmos um módulo, um bloco de código para ser reaproveitado


em outras partes do projeto, basta criarmos uma pasta com o nome do
módulo em questão, dentro dela criarmos um arquivo __init__.py e
depois criarmos o arquivo do código fonte module.py.

Podemos importar o bloco lógico em outra parte do projeto da seguinte


forma:

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

Respectivamente, essas importações se referem a caminhos:

• Absoluto.

• Relativo na mesma pasta onde é chamada a parte.

• Relativo nas duas pastas da chamada original.

Você deve estar se perguntando: por que __init__?

O __init__ é o equivalente ao construtor de classe das linguagens


orientadas a objetos; é a partir do método construtor que podemos
instanciar objetos, seguindo os parâmetros declarados na função
__init__.

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

Quando importamos um módulo, é como se importássemos uma classe


para outra parte do projeto, e o __init__.py é executado pelo motor do
Python para atrelar os objetos pelo módulo declarado ao namespace
(“domínio”) do módulo. Em outras palavras, podemos entender como o
construtor do pacote/módulo ali declarado.

Estrutura de projetos e boas práticas


Assim como em outras linguagens, podemos importar bibliotecas
criadas por outras pessoas, o que nos facilita muito. Essa é uma das
grandes vantagens da computação nos tempos atuais, pois a
comunidade de desenvolvedores é grande, diversa e muito colaborativa.
Por mais que estejamos importando módulos externos, teremos acesso
a documentação e trilhas de discussões em plataformas como o
StackOverflow e o Github.

Mas como fazemos isso?


Resposta

É simples, por meio do gerenciador de pacotes do Python, o pip.

Na maioria das vezes, o que basta é digitarmos no terminal ou prompt


de comando, o comando “pip install < nome do módulo >” e pronto,
assim importamos no nosso código como “import < nome da biblioteca
>” e teremos acesso aos seus módulos e métodos.

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#

Biblioteca referenciando a imensidão de módulos presentes no Python.

Atenção

É importante registrar a lista de bibliotecas para que outras pessoas que


tiverem acesso ao projeto possam rodá-lo em suas máquinas. E isso
pode ser feito por meio do arquivo requirements.txt, um arquivo de texto
que contém as dependências do projeto.

Para isso, basta digitar o comando:

Terminal 

Para que outra pessoa possa importar as mesmas bibliotecas, ou para


que você mesmo possa importar de novo em outro computador, basta
digitar:

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#

Existem formas mais avançadas de construirmos o projeto e suas


dependências por meio dos ambientes virtuais, que são espaços de
trabalho do projeto, como se fossem máquinas virtuais leves para rodar
os programas. Se os comandos pip forem rodados enquanto o ambiente
estiver de pé, então as bibliotecas não serão instaladas globalmente,
mas sim restritas ao ambiente virtual (virtualenv).

Para levantar o ambiente, criando o ambiente virtual para a pasta


corrente, basta digitar o comando:

Terminal 

Para sair, basta digitar:

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#

Existem alternativas como o Pyenv e o pipenv que, além de criar o


ambiente virtual, podem gerenciar versões diferentes de Python no
mesmo computador, mas diferentemente do virtualenv (venv), o Pyenv e
o pipenv não vêm instalados junto ao Python.

Por fim, falaremos do Jupyter Notebook, um ambiente de scripts


Python, muito útil para análise exploratória, que pode ser instalado no
nível global mesmo, fora de virtualenv, pois queremos que toda a
máquina tenha acesso a ele.

Para instalá-lo, basta digitar o comando:

Terminal 

Comentário

Para abrir um servidor local de Jupyter Notebook, basta digitarmos no


terminal “jupyter notebook” na pasta do projeto em questão e pronto, o
servidor será levantado e automaticamente o browser abrirá na IDE do
Jupyter Notebook. Então, você poderá criar notebooks, que são scripts
em células de Python, muito utilizados para prototipação e análises

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#

em células de Python, muito utilizados para prototipação e análises


exploratórias.

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.

A fim de lidarmos com os dados de forma elegante, deve ser criada uma


pasta no nível da raiz do projeto, para armazenamento dos arquivos; por
convenção, podemos chamá-la de assets (ativos). Tal pasta pode ainda
ser subdividida por categorização preestabelecida dos ativos de dados.
Essa subdivisão é muito comum em projetos de FrontEnd (projetos de
interface gráfica, principalmente de websites), em que os
desenvolvedores guardam ícones e outros dados estáticos.

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

Os ativos de dados podem ser usados para servir de base de dados


temporária ou de testes/experimentação de certos sistemas, ou
também como recursos que alimentam bibliotecas importadas, por
exemplo, licenças de software.

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.

Pandas é uma biblioteca em Python, criada para


manipulação e análise de dados, oferecendo estruturas
e operações para manipular tabelas numéricas e séries
temporais.

O nome Pandas, ao contrário do que possa parecer, não vem do urso


fofo monocromático da China, mas sim do conceito panel data, ou dado
em painel, no plural, panel data sets, e daí o nome Pandas.

O conceito em si é um termo estatístico que se refere a conjuntos que


incluem diferentes unidades amostrais acompanhadas ao longo do
tempo, o que faz muito sentido, pois cada coluna de um DataFrame,
principal estrutura do Pandas, é um dado do tipo Series, ou série
temporal.

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#

Exemplo de Pandas DataFrame disponível no site geeksforgeeks.org no artigo Python Pandas


Dataframe.sample() de Kartikaybhutanios.

Comentário

Os DataFrames são justamente esses painéis de dados, mas podemos


encará-los como tabelas para fins de abstração. São muito utilizados
em projetos de análise de dados como criação de dashboards, scripts
de análise de dados e aplicações de aprendizado de máquina.


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#

Falta pouco para atingir seus objetivos.

Vamos praticar alguns conceitos?

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#

Quais os comandos para levantar e sair de um ambiente virtual


Python (virtualenv)?

A start; quit.

B startvenv; !venv.

C venv; ~venv.

D venv; deactivate.

E activate; deactivate.

Parabéns! A alternativa D está correta.

O comando venv levanta o ambiente virtual em Python, e quando


não se deseja mais trabalhar ali dentro, basta digitar deactivate para
sair. As demais alternativas possuem comandos não suportados
pela linguagem Python.

Questão 2

O constructo with da linguagem Python se refere a que tipo de


estrutura de controle?

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

Parabéns! A alternativa E está correta.

O constructo with delimita o escopo das funções e variáveis abaixo


dele, como na leitura de um arquivo, por exemplo. As demais
alternativas referem-se a estruturas da linguagem, porém os
constructos correspondentes são diferentes do with.

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#

2 - Preparação de dados para análise no Python


Ao �nal deste módulo, você será capaz de descrever a preparação de dados para análise no
Python.

Obtenção do conjunto de dados


A coleta de dados é o processo de captura e medição de informações e
variáveis de interesse, de forma sistemática que permita responder a
perguntas de pesquisa, bem como testar hipóteses e avaliar resultados.

Coleta de dados.

Existe uma diferença entre os conjuntos de dados qualitativos e


quantitativos. Vamos ver qual é?

Dados qualitativos Dados quantitativos

São dados não São os dados


numéricos, em sua numéricos, que podem
maioria, normalmente ser matematicamente

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#

maioria, normalmente ser matematicamente


descritivos ou nominais. computados. Essa
Apresentam-se, em categoria de dado mede
geral, em formato de diferentes escalas que
textos, sentenças ou podem ser nominais,
rótulos. As perguntas ordinais, intervalares e
que geram essa proporcionais. Na
categoria de dados são maioria dos casos,
abertas e os métodos esses dados resultam
envolvidos para seu da medição de algum
tratamento são grupos aspecto ou fenômeno.
de foco, de discussão e Normalmente, existe
entrevistas. São um uma abordagem
bom jeito de mapear o
 sistemática muito bem
funcionamento de um definida e mais barata
sistema ou a razão de de se implementar do
um fenômeno. Em que a coleta de dados
contrapartida, são qualitativa, uma vez que
abordagens custosas é possível construir
que consomem muito processos automáticos
tempo, e os resultados ou simplesmente
são restritos aos grupos consumir relatórios
de foco envolvidos. gerados. Entre os
métodos dessa
categoria, temos os
surveys, as queries, o
consumo de relatórios e
os escavadores
(scrapers).

É importante ressaltar que essas categorias de dados não são


mutuamente exclusivas, pois é muito comum encontrar relatórios ou
fazer entrevistas cujo resultado contenha tanto dados quantitativos

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#

(renda, número de familiares, despesas etc.) como dados qualitativos


(endereço, sobrenome, instituição de ensino, grau de instrução etc.).

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.

Como é um dado recém-coletado, não tem interferência humana


e, por isso, é considerado mais puro do que os dados
secundários.

Entre as fontes de dados primários, temos surveys, experimentos,


questionários e entrevistas.

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.

Entre as fontes de dados secundários, temos: livros, registros,


biografias, jornais, censos, arquivos de dados etc. Os dados
secundários são muito úteis quando não conseguimos fazer

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#

secundários são muito úteis quando não conseguimos fazer


coleta em primeira mão; por exemplo, ao reproduzirmos um
estudo de um trabalho da literatura, temos que utilizar os dados
providos pelos autores.

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.

Tratamento de dados nulos ou


corrompidos
Um problema muito comum na atividade de pré-processamento de
dados é a qualidade dos dados. Os dados podem vir certinhos,
consistentes, talvez muito variados, mas, pelo menos, completos.
Entretanto, é possível que os dados venham com atributos faltantes,
registros nulos, registros mal escritos (desformatados) etc. Para esses
casos, existem diversas formas de resolver o problema, dependendo do
tamanho da base, do tipo de processo de extração e da importância do
atributo prejudicado.

Comentário

Dados faltantes ou nulos em bases grandes (por volta da ordem de


grandeza de 10.000 registros ou mais) podem ser resolvidos ignorando
o registro todo, ou seja, removendo-o da base, se a proporção de nulos
não for expressiva (não passar de 10% da quantidade de registros). Essa
estratégia é comum para bases grandes, pois a remoção desses
registros nulos não será tão danosa ao processo de treinamento.

Outra estratégia para esse caso específico, de base de dados grande, é

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#

utilizar técnicas de regressão para dados numéricos ou de classificação


para dados categóricos, para o preenchimento automático desses
dados. O fato de a base ser grande ajuda o algoritmo de preenchimento
automático, sendo claro que dados com variância alta podem prejudicar
esse processo.

Para dados faltantes ou nulos em bases de dados muito restritas ou


pequenas (por volta da ordem de grandeza de 1.000 ou menos), temos
duas alternativas: ou tentamos preencher de forma automática como
vimos anteriormente, ou voltamos ao processo de coleta e tentamos
melhorá-lo a fim de consertar o problema que causou a nulidade ou a
falta.

E, finalmente, para dados faltantes ou nulos em bases de dados


precárias em que a exclusão do registro ou a interpolação é inviável, o
correto é retomar diretamente ao processo de coleta, pois claramente
os dados são insuficientes para o projeto.

Para dados repetidos, normalmente a solução é simples, pois basta


eliminá-los, a não ser que a repetição seja apenas para um subconjunto
de atributos. Se for o caso, provavelmente a repetição é uma
decomposição de uma agregação ou é uma repetição de um evento em
diferentes períodos de tempo.

Atenção

Para resolver o problema de dados repetidos, é sempre útil estudar os


metadados do conjunto de dados, se estiverem disponíveis, ou estudar a
origem deles.

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#

com pontos fora da curva, os chamados outliers. Por exemplo, na série


[1,1,2,3,4,5,6,100,7,8,9,50], podemos dizer que 50 e 100 são outliers, uma
vez que são muito distantes do restante. Tal perturbação pode causar
problemas nos processamentos do sistema sobre esse conjunto,
levando-o a demonstrar comportamentos indesejados.

Ponto fora da curva. Podemos ver que o ponto se distancia demais da média e das variâncias
esperadas do boxplot.

Existem várias formas de contornar tal situação. Podemos remover os


dados destoantes do conjunto, assim limpando o sistema. Entretanto,
se quisermos levá-los em consideração mesmo assim, o que pode ser
feito? Para isso, podemos usar a regularização.

Regularizar um dado signi�ca colocar seus atributos em


escala; assim, o conjunto não sofrerá tanto com um ponto
fora da curva, bem como se adaptará a novos valores que
venham a ser incorporados.

Dentre as opções de regularização, temos o método min max, que


consiste em colocar os dados em escala com o mínimo valor do
atributo no conjunto contra o máximo valor.

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)

A fórmula do método min max coloca o dado observado em uma régua


que começa no mínimo valor possível e vai até o máximo,
transformando assim o d_observado em um valor entre 0 e 1.

Demonstração com Python e Pandas


Existem várias formas de incorporarmos os dados nos nossos scripts
Python. Podemos fazer a coleta dos dados a partir de bibliotecas, que
fazem varreduras em sites, ou em dados semiestruturados como
notícias e tweets por meio do BeautifulSoup e Scrapy.

Para fins de estudo e demonstração, vamos tratar como se nossos


dados recuperados fossem arquivos, como os separados por vírgula,
CSV. Com o Pandas, basta utilizarmos o seguinte comando de
importação da biblioteca inicialmente:

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

Os delimitadores de strings nos comandos Python são aspas simples (')


no início e no final.

Como esperado, o Pandas lê o arquivo separado por vírgulas


convertendo-o em estrutura tabelar e, por padrão, a primeira linha do
arquivo é considerada o cabeçalho da tabela. Também por padrão, para
esse tipo de operação, o leitor de arquivo do Pandas considera a vírgula
como separador de colunas e o parágrafo como separador de registros
ou linhas.

Esse padrão pode ser alterado passando o marcador


desejado para o parâmetro sep.

Existe o leitor de Excel (read_excel), que funciona exatamente da


mesma forma, com o cabeçalho também na primeira linha por padrão,
mas o separador padrão é o tab (espaço tabular), o que também pode
ser alterado. A maior diferença é que no Excel, diferentemente do CSV,
pode haver abas (sheets); por padrão, considera-se a primeira aba na
leitura.

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#

A conversão de dados mais comum é transformar listas de dicionários


em DataFrames, dentro do próprio código, ou seja, por atribuição de
variável, o que é mais simples ainda e pode ser feito da seguinte forma:

Python 

Vale ressaltar que nem todos os arquivos JSON já vêm no formato de


lista de dicionários, mas sim como strings convertidas. Logo, é
considerada uma boa prática tentar fazer a decodificação caso haja a
dúvida:

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#

Assim como é possível ler os arquivos, também é possível persistirmos


com eles; o método usado para isso é to_csv, to_excel, to_json etc.
Deve-se dar especial atenção à persistência, pois em casos como a
exportação dos dados no formato de lista de dicionários, ou JSON
Array, o padrão de orientação é importantíssimo porque interfere na
retrocompatibilidade com outros sistemas que compartilhem os dados.

Python 

Existem formas ainda mais extravagantes de se ler dados com o


Pandas como o read_sql, que lê os dados a partir de conexões ODBC ou
JDBC com bancos de dados compatíveis, sendo que cada tipo de banco
tem suas especificidades.

Comentário

Ainda há a possibilidade de leitura por URL, em que, no lugar de


passarmos o caminho de diretórios local da máquina, passamos o
caminho do arquivo no sistema on-line, que será transferido para o
projeto Python seguindo um protocolo FTP.


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#

Preparação de dados para análise no


Python
As técnicas de preparação de dados para análise no Python são
abordadas no vídeo a seguir.

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#

Falta pouco para atingir seus objetivos.

Vamos praticar alguns conceitos?

Questão 1

Na fase de pré-processamento, o objetivo da regularização de


dados é

A deletar os dados.

B embaralhar os dados.

remover pontos fora da curva e colocar os dados


C
em escala.

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#

remover pontos fora da curva e tirar os dados de


E
escala.

Parabéns! A alternativa C está correta.

O objetivo da regularização dos dados, como já diz o nome, é fazer


com que eles fiquem na mesma escala, evitando ruídos de
diferença de tamanho, e também suavizar e até mesmo remover
pontos fora da curva.

Questão 2

Dados nulos e corrompidos são um problema para a análise de


dados. Qual das técnicas abaixo é viável para lidar com esse tipo de
problema?

Remoção do registro com dados faltantes ou nulos


A
do conjunto.

Embaralhamento do registro com dados faltantes


B
ou nulos.

C Fusão dos dados nulos ou faltantes.

D Transformação linear dos dados nulos ou faltantes.

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#

E Rotação dos dados nulos ou faltantes.

Parabéns! A alternativa A está correta.

Dentre as alternativas, a remoção dos dados faltantes é a única


viável a solucionar o problema. Existem outros métodos para
tratamento de dados nulos, como a interpolação do valor pela
média da coluna ou algo do gênero, que não estão entre as opções
de respostas.

3 - Manipulação de dados no Python


Ao �nal deste módulo, você será capaz de descrever a manipulação de dados no Python.

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

As tabelas, por mais que tenham essa característica de DataFrames,


são muito similares às estruturas que conhecemos nos bancos de
dados, como colunas, por exemplo, sendo que cada coluna tem um tipo
próprio, por exemplo object, que é o padrão de tipo de dados para
strings, ou o equivalente a varchar. A outra semelhança é o index, que
serve para marcar cada linha do DataFrame e ordenar os dados, assim
como a estrutura de mesmo nome nas tabelas dos bancos de dados
SQL.

Para descrever o conteúdo de um DataFrame no Pandas, podemos fazer


de duas formas:

Python

O DataFrame descrito pelo info() resulta na descrição de cada coluna e

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#

seu tipo, com a contagem de valores não nulos, como mostrado a


seguir:

Terminal 

A alternativa é o describe, que é menos detalhista do que o info(),


executado pelo comando:

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#

O describe resulta na descrição de estatísticas bem básicas, por


exemplo, a contagem de cada coluna (count), quantos valores únicos de
cada variável (unique) e quantas categorias, bem como o primeiro
registro (top) e a frequência (freq.).

Terminal

Tente executar, como exercício, o exemplo anterior da lista de


dicionários, com o df.info() e com o df.describe().

Python 

Essas informações são básicas e nos dão uma previsão de como


lidarmos com o DataFrame. Existem outras funções que são mais
parecidas com as que estamos acostumados nas tabelas de SQL, e as
veremos a seguir.

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

Quando fazemos uma projeção ou uma seleção, o que queremos é criar


um subconjunto dos dados originais. Tal operação é realizada na
linguagem SQL pelo comando SELECT, enquanto para os DataFrames
podemos fazer o mesmo com os métodos loc, iloc e query.

O loc é o método que projeta as colunas do DataFrame pelos rótulos e


funciona da seguinte forma:

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#

Nesse exemplo, criamos um DataFrame artificial e fizemos duas


projeções:

‘viper’
A primeira com apenas uma coluna.

‘viper’, ‘sidewinder’
A segunda com duas colunas.

Além do tamanho da projeção, podemos reparar que, ao selecionarmos


apenas uma coluna, teremos de volta uma série (Pandas series) e, caso
escolhamos mais de uma coluna, além de termos que passar o conjunto
como uma lista dentro dos colchetes do loc, o retorno será um
DataFrame, uma vez que é o coletivo de duas ou mais séries.

Exemplo com iloc:

No caso do iloc, a projeção depende dos indexes numéricos das linhas e


colunas de um DataFrame.
Veja o detalhamento a seguir.

 Print 1

O primeiro print nos trará a primeira coluna do


conjunto.

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

O segundo print nos trará a primeira linha do


DataFrame.

 Print 3

O terceiro print nos trará a primeira e segunda


linhas do DataFrame.

 Print 4

O quarto print nos trará as três primeiras linhas do


DataFrame.

 Print 5

O quinto print nos trará a projeção com a condição


de que o valor das células seja par.

 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

Os dois últimos prints nos projetam uma submatriz


(ou filtro) do DataFrame original, o primeiro sendo
feito de forma direta e o segundo por fatiamento.

Exemplo com query:

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.

É possível fazermos deleções também, e para isso utilizamos o drop


para remover colunas, por exemplo, mediante o comando:

Python 

Ou

Python 

Também podemos deletar a célula e para isso basta associar o valor


None à célula localizada com a ajuda do iloc, ou qualquer outra forma de
projeção. Já para deletarmos linhas, basta passarmos os indexes:

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#

Nesse caso, deletamos as duas primeiras linhas do DataFrame.

Como você pôde observar, utilizamos muito os indexes para nossas


manipulações. Para que possamos regularizar a indexação depois de
um drop, ou seja, reindexar, basta fazer:

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#

O index, assim como nos bancos de dados, tem os papéis de enumerar


o conjunto e facilitar a manipulação dos dados em questão. Ao resetar o
DataFrame, é como se estivéssemos desfragmentando a memória do
DataFrame.

Assim como nos bancos de dados, temos também as operações de


junção, feitas pelo concat, merge e join.

Exemplo com concat:

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.

Exemplo com merge:

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#

Nesse exemplo, podemos ver o jeito bem tradicional de junção, em que


declaramos as chaves estrangeiras que serão a base da junção e
declaramos os sufixos em caso de repetição de nome de colunas, que é
o caso da coluna value, na qual teremos values da esquerda e da direita.

Exemplo com join:

Python 

Comentário

O join é feito a partir de um dos DataFrames, assim como o merge, mas


ele depende do index, e a junção é feita no index padrão.

É possível reindexar ou alterar o index de um DataFrame para ser uma


das outras colunas. Basta fazer o df.set_index(“nome da coluna”).

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.

Para agruparmos, é simples. Basta chamarmos o método groupby a


partir do DataFrame a ser analisado. Fazemos isso da seguinte forma:

Python 

Aqui, podemos perceber como ocorre a agregação dos dados. O método


groupby aceita uma lista de colunas, que serão os agrupadores, mas só
chamar o método de groupby não fará as agregações desejadas. O que
precisamos para fazer a agregações é chamar o método direto, como no
exemplo mean(), que calcula a média de todas as colunas numéricas
agrupadas pelo tipo de animal.

Podemos fazer mais de uma agregação ao mesmo


45 of 66 09/01/2024, 19:20
Análise de dados de Python com Pandas https://stecine.azureedge.net/repositorio/00212ti/02260/index.html#

Podemos fazer mais de uma agregação ao mesmo


tempo, bastando passar o método agg(['mean']), que
recebe uma lista de agregações cobertas na
documentação do método no Pandas.

Uma coisa interessante, que não acontece nos bancos de dados


tradicionais, é que o index das agregações passa a ser o agrupamento.
Para que isso não ocorra, basta usar o reset_index() no resultado da
agregação, com drop=False ou não declarado, para que os indexes não
sejam deletados e você perca colunas no DataFrame da agregação.

Comentário

A operação apply, que é um método do DataFrame e das series, nada


mais é do que o equivalente à função map de outras linguagens como
Java e Javascript, em que definimos uma função e a passamos nos
componentes de uma lista a fim de modificá-la.

Nos DataFrames, isso pode ser feito pelas colunas individualmente ou


pelas linhas, bastando mudar o atributo axis na chamada. Por exemplo:

Python 

Nesse exemplo, criamos um DataFrame sintético de três linhas, com

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#

cada linha tendo os valores 4 e 9. No primeiro apply, queremos a raiz


quadrada do DataFrame inteiro, mas apenas para visualização, não
salvando na variável. No segundo apply, estamos modificando a coluna
A para que seja acrescida de uma unidade. E, por fim, criamos uma nova
coluna para ser a soma das colunas A e B.


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#

Falta pouco para atingir seus objetivos.

Vamos praticar alguns conceitos?

Questão 1

Qual a função do index de um DataFrame?

Servir de base de somatórios dos dados para checar


A
a consistência por meio de checksum.

Apenas ordenar as linhas da tabela por meio de


B
índices e servir como orientação visual.

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#

Sua função é meramente estética, não tendo


C
nenhuma outra atribuição.

Indexador do DataFrame, facilita o acesso aos


D
registros, otimizando consultas.

Indicador de performance do conjunto de dados


E
analisado a partir de índice.

Parabéns! A alternativa D está correta.

O index é como se fosse a chave primária e índice de um


DataFrame, permitindo fazer junções e agregações a partir dele.

Questão 2

O que acontecerá com a coluna C no comando “df['C'].apply(lambda


x: x*x)”, uma vez que ela não tem valores nulos e é toda composta
por números de ponto flutuante?

A O resultado será dividido por ele mesmo.

B O resultado obtido será a raiz quadrada dos valores.

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#

Os valores da coluna serão transformados em


C
strings.

D Os valores da coluna serão deletados.

Os valores da coluna serão elevados à potência de


E
2.

Parabéns! A alternativa E está correta.

O método apply funciona como a função map de outras linguagens,


passando por cada valor e executando a função mapeada e
declarada no apply, que neste caso é a multiplicação de x por ele
mesmo, ou seja, potência de 2.

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#

4 - Visualização de dados no Python


Ao �nal deste módulo, você será capaz de aplicar a visualização de dados no Python.

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

São aqueles cujos valores são em números reais, racionais ou


naturais, que expressam quantidades, proporções, valores
monetários, métricas. Esses números são tipicamente passíveis
de operações e cálculos matemáticos.

Dados categóricos

São aqueles normalmente expressos por texto, que representam


rótulos, símbolos, nomes, identificadores.

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#

São aqueles que passam a ideia de série, cronologia, fluxo de


tempo. Exemplos de dados temporais são aqueles associados a
datas, aos dias da semana, índices ordinais, séculos, meses,
anos, horas etc.

Atenção

Podemos ter dados categóricos expressos por números, por exemplo,


notas de provas significando conceitos (que podem ser substituídos
pelo sistema de letras A, B, C, D, F) e ordinais representando categorias
de posição ou ordem. Podem ocorrer dados numéricos que, quando
estratificados, passam a ser categóricos como idade, temperatura etc.

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.

Para dados numéricos, usualmente queremos que sejam demonstradas


suas proporções, distribuições e correlações. Quando queremos
descobrir como é o formato de distribuições para entendermos
possíveis padrões implícitos em dados numéricos, utilizamos os
gráficos de histograma.

O código a seguir gera um histograma usando o plotly.express, uma API


para criação de gráficos no Python que contém diversos datasets de
testes, identificados por data.xxx().

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#

Histograma da distribuição de dados de comandas de restaurante (data.tips) - resultado da


execução do código anterior.

Também podemos querer saber a correlação entre dados numéricos e,


para isso, podemos utilizar o gráfico de dispersão, scatterplot, como no
exemplo a seguir:

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#

Gráfico de dispersão de larguras e comprimentos de sépala de flores (data.iris) - resultado da


execução do código anterior.

No gráfico, podemos ver a relação entre as medidas, agregadas pela


espécie.

Para dados categóricos, queremos mostrar as categorias e suas


proporções, ou colorir outros gráficos como fizemos no scatterplot
anteriormente. Por exemplo:

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#

Exemplo de quadro hipotético de medalhas da China, Coreia do Sul e Canadá em um gráfico de


barras (data.medals_long) - resultado da execução do código anterior.

Comentário

Como podemos ver, o gráfico de barras é muito parecido com o


histograma; a diferença é que o gráfico de barras mostra a contagem e
proporções de dados categóricos, ou seja, o eixo X será de dados
categóricos e o Y representará a contagem (podendo inverter os eixos
quando estamos olhando gráficos de barras orientados
horizontalmente).

Outro exemplo para entendermos proporções das categorias é o gráfico


de pizza ou torta (pie).

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.

No gráfico de pizza, podemos tanto ver que o conjunto de dados só tem


quatro dias distintos como também suas proporções, mostrando que o
restaurante/lanchonete do conjunto de dados de comandas tem maior
funcionamento nos fins de semana.

O gráfico de pizza é adequado quando temos poucas


categorias, pois, se ele tiver muitas fatias a exibir, ou
seja, muitos valores únicos, passa a ficar ilegível,
sendo preferível migrar para o gráfico de barras.

Finalmente, vamos falar dos dados temporais, aqueles que passam


ideia de cronologia. Uma solução natural é representarmos tais dados a
partir do gráfico de linhas. Por exemplo:

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.

Aqui podemos perceber bem a ideia de cronologia, com o eixo X


apresentando o dado temporal (anos, meses, datas completas, horas ou
mesmo o index do DataFrame). Assim, será possível entender a
evolução da coluna analisada. Como podemos ver, foi feita uma
coloração diferente por país, um dado categórico, isto é, uma
agregação/agrupamento.

Atenção

Temos que tomar cuidado para os valores únicos dessas agregações


não prejudicarem a visualizaçã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.

Sua instalação é bem simples, basta utilizarmos o comando pip:

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 

E para usarmos os métodos nos nossos códigos, precisamos importar a


biblioteca:

Python 

Depois escolhemos uma visualização que mais se adeque aos dados a


serem observados, sendo que o catálogo de visualizações da biblioteca
é bem vasto e disponível em sua documentação.

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#

Falta pouco para atingir seus objetivos.

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#

Vamos praticar alguns conceitos?

Questão 1

Para que serve o Plotly?

A É uma biblioteca para gestão de arquivos do Python.

É uma biblioteca para criação de modelos de


B
aprendizado de máquina do Python.

É uma biblioteca para manipulação de dados do


C
Python em DataFrames.

É uma biblioteca para gerar visualização de dados


D
interativa do Python.

E É uma biblioteca para o split de dados do Python.

Parabéns! A alternativa D está correta.

O Plotly é a biblioteca do Python alternativa ao matplotlib e seaborn,


capaz de gerar visualizações de dados de forma interativa e muito
adequada para jupyter notebooks, que têm esse caráter mais
exploratório. As demais alternativas se referem a outras bibliotecas
do Python.

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

Quais são as categorias de dados que pensamos na hora de fazer


visualizações na análise de dados?

A Irracionais, complexos e temporais.

B Numéricos, rotulados e cronológicos.

C Numéricos, categóricos e quânticos.

D Numéricos, categóricos e temporais.

E Imaginários, categóricos e temporais.

Parabéns! A alternativa D está correta.

A classificação tradicional dos dados na hora da elaboração de


visualizações é: dados numéricos, que nos levam a histogramas e
scatterplots; dados categóricos, que nos levam ao gráfico de pizza
ou de barras; e dados temporais, que nos levam aos gráficos de
linha.

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.

Neste conteúdo, entendemos como funciona a linguagem Python,


algumas de suas peculiaridades, sua sintaxe e seus constructos. Vimos
que podemos utilizar bibliotecas poderosas de análise e manipulação
de dados como Pandas.

Fomos capazes de compreender o conceito de dado de painel, bem


como entendermos os DataFrames do Pandas. Compreendemos e
aplicamos os métodos de manipulação de dados disponíveis nos
DataFrames como projeção, deleção e junção.

Aprendemos como é feita a coleta e o pré-processamento de dados,


culminando na visualização, que é a concretização do processo de
análise ou um recomeço, dependendo dos achados.


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#

Ouça no podcast a entrevista sobre análise de dados no Python.

Explore +
Para dar sequência ao seu estudo, teste mais formas de gerenciar o
Python e suas versões com o Pyenv.

Estude o pipenv, pois é uma excelente maneira de gerenciar projetos


Python, muito usado no mercado.

No Pandas, tente explorar outros métodos, uma vez que a biblioteca é


muito vasta, permitindo integrações diretas até mesmo com bancos de
dados.

Além do Plotly, temos o matplotlib e o seaborn, sendo recomendada a


pesquisa dessas bibliotecas de visualização de dados.

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#

AZEVEDO, A. I. R. L.; SANTOS, M. F. KDD, SEMMA and CRISP-DM: a


parallel overview. IADS-DM, 2008.

DA SILVA, F. C. D.; GARCIA, A. C. B. Judice Verum, a Methodology for


Automatically Classify Fake, Sarcastic and True Portuguese News.
Dissertação (Mestrado em Informática) – Universidade Federal do
Estado do Rio de Janeiro, Rio de Janeiro, 2019.

KABIR, S. M. S. Methods Of Data Collection. In: ______. Basic Guidelines


for Research: An Introductory Approach for All Disciplines. 1. ed.
Bangladesh: Book Zone Publication, 2016, p. 201-275.

WIRTH, R.; HIPP, J. CRISP-DM: Towards a standard process model for


data mining. In: Proceedings of the 4th international conference on the
practical applications of knowledge discovery and data mining. London,
UK: Springer-Verlag, 2000.

Material para download


Clique no botão abaixo para fazer o download do
conteúdo completo em formato PDF.

Download material

O que você achou do conteúdo?

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

Você também pode gostar