Você está na página 1de 29

Análise Exploratória

Introdução à Ciência dos Dados


https://icd-ufmg.github.io/

Pedro Olmo Stancioli Vaz de Melo


olmo@dcc.ufmg.br
1
Pandas

● Indexação
○ .loc
○ .iloc
○ ['C']
○ [['C1', 'C2']]
○ [0:2]
○ [[True, False]]
● Agrupamento
○ Groupby
○ sum
○ plot

2
Esta Aula

Análise Exploratória de Dados

Visualização de Dados

Continuaremos usando o pandas + matplotlib. https://matplotlib.org

3
Matplotlib

Forma mais popular de gerar visualizações em Python.


Porém, IMHO, não é a melhor API do mundo. Existem alternativas mais recentes.

● https://toyplot.readthedocs.io
● http://bokeh.pydata.org
● http://geo.holoviews.org
● (Promissora) https://altair-viz.github.io/

4
Princípios de
Análise
de
Dados
Exploratória
(EDA em Inglês)
5
Ciclo de Trabalho do Cientista de Dados

Formular
Adquirir
uma
pergunta ? Dados

Predição e Análise
Inferência Exploratória
(próximos
módulos)
6
Boa parte do tempo….

Limpeza Exploratory Data


de Dados Analysis

7
8
Limpeza de Dados

Processo de transformar linhas de dados para facilitar análises

Infelizmente

● Boa parte do processo

Felizmente

● Ferramentas como Pandas ajudam

9
Limpeza de Dados

Processo de transformar linhas de dados para facilitar análises

Passos

1. Padronizar dados
2. Estratégia para tratar dados que faltam
3. Padronização de conversão
4. Números como texto
...

10
Análise Exploratória de Dados

Processo de transformar, visualizar e sumarizar dados para buscar


● Estrutura -- qual a forma dos dados
● Granularidade -- quão detalhados são meus dados
● Escopo -- quão completos e incompletos são meus dados
● Temporalidade -- se os dados capturam aspectos temporais
● Corretude -- quanto os dados refletem a realidade

John Turkey
EDA equivale a um trabalho de detetive! (criador do FFT/Boxplot)

11
Estrutura

● Dados podem vir numa série de formatos


● Além de diferentes tipos de arquivos
○ csv
○ excell
○ texto
○ json
○ multimídia
● Durante o curso, vamos focar em tabelas
○ csv
○ excell
○ json
● Ainda assim temos problemas para tratar

12
Atributos/Colunas
Dados Retangulares

Amostras/Linhas
Nosso maior foco em ICD

● Fáceis de manipular
● Podem representar tabelas e/ou matrizes

Tabelas

● Diferentes tipos de dados


● Rótulos (linhas e colunas com nomes/índices)

Matrizes

● Apenas valores numéricos 13


De onde vêm tais tabelas?

TSV
Tab separated values

CSV
Comma separated
values

JSON
Estrutura

Similar a banco de dados tradicionais


● É comum tabelas ter chaves
● Geralmente viram os índices em pandas
● Em alguns casos temos que alinhar
os dados para fazer a análise

15
Junção (merge) de dados

16
Merge

Podemos ter problemas como tratar com o alinhamento de tabelas

17
Chamada merge

Ainda temos problemas de escopo

18
Escopo

Quão completos são meus dados?


● Como posso tratar os nan no caso da idade?
● E no caso do e-mail?

19
Escopo

Quão completos são meus dados?


● Como posso tratar os nan no caso da idade?
○ Podemos remover os dados

■ pd.dropna

○ Ou imputar os mesmos

■ Usando a média, mediana, idade da linha mais próxima...

● E no caso do e-mail?
○ Não tem muito que que podemos fazer

○ pd.dropna

20
Preenchendo dados

Podemos criar uma estratégia, como usar a média dos valores

21
Ou jogar tudo fora

dropna joga fora todas as linhas com nan

22
Granularidade

● Já vimos um pouco de problemas de granularidade com o groupby


● Lembrando do baby names
○ Como tratar os dados no nível de estado?

23
Granularidade

● Note a mudança de granularidade

24
Temporalidade

Número de nascimentos em um ano

25
Temporalidade

● Note que ano é um dado temporal


● Como tratar no nível de década?
○ Existe um método resample para isso

○ Ajuda a lidar com problemas temporais

○ Qual a escala das mensurações?

○ Como agregar escalas menores?

26
Temporalidade

Número de nascimentos médios a cada 10 anos

27
Corretude

Problema mais complicado, a princípio depende do processo de coleta

● A amostra é representativa?
● Como podemos argumentar que sim?

��
Existe uma população de
onde extraímos
amostras.
Cada amostra é composta de
atributos.

Um DataFrame
(de https://arxiv.org/abs/2001.00888)
28
Referências e Leitura

● Computational and Inferential Thinking


Chapter 6: Data Visualization
https://www.inferentialthinking.com/

29

Você também pode gostar