0Pricing
Learn AI with Python · Aula

Fluxo de trabalho de EDA e criação de perfil dos dados

df.info(), df.describe(), auditoria de valores ausentes, verificação de tipos de dados e análise de cardinalidade.

Fluxo de trabalho de EDA e criação de perfil dos dados é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

O que é a análise exploratória de dados?

Análise Exploratória de Dados (EDA) é a primeira coisa que você faz com qualquer conjunto de dados antes da modelagem. O objetivo é entender a estrutura, identificar problemas e desenvolver uma intuição.

Uma lista de verificação para a primeira análise disciplinada de EDA responde a estas perguntas: Qual é o tamanho dos dados? Quais são os tipos das colunas? Onde estão os valores ausentes? Há duplicatas? Como os valores estão distribuídos?

  • Identificar problemas de qualidade dos dados logo no início
  • Decidir quais características precisam de limpeza
  • Formular hipóteses para testar mais tarde

Carregando os dados

Tudo começa carregando um DataFrame e dando uma rápida olhada com head() e shape.

shape retorna uma tupla (rows, columns), para que você saiba instantaneamente a escala com que está trabalhando.

import pandas as pd

df = pd.read_csv("customers.csv")
print(df.shape)        # (10000, 8)
print(df.head())       # first 5 rows

df.info() — Tipos e contagens de valores não nulos

df.info() é o comando inicial mais útil. Ele imprime o nome de cada coluna, seu tipo de dados e a contagem de valores não nulos.

Se uma coluna numérica aparecer como object, há algum problema (texto estranho, vírgulas, símbolos de moeda). Se as contagens de valores não nulos forem diferentes entre as colunas, existem dados ausentes.

df.info()
# <class pandas.DataFrame>
# RangeIndex: 10000 entries
# age      9800 non-null  float64
# city     10000 non-null object
# income   9500 non-null  float64

df.describe() — Resumo numérico

df.describe() fornece contagem, média, desvio padrão, mínimo, quartis (25/50/75%) e máximo para cada coluna numérica.

Procure sinais de alerta: um min de -1 em uma coluna de idade, um max muito acima do percentil 75 (valores atípicos) ou uma média muito distante da mediana (assimetria, skew).

print(df.describe())
# Use include="all" to also summarize categorical columns
print(df.describe(include="all"))

df.isnull().sum() — Contando valores ausentes

Encadear isnull() com sum() conta os valores ausentes por coluna. Adicione outro .sum() para obter o total geral.

Converta o resultado em uma porcentagem para avaliar a gravidade: pode valer a pena remover uma coluna com 60% de valores ausentes, enquanto 2% é fácil de imputar.

print(df.isnull().sum())

missing_pct = df.isnull().sum() / len(df) * 100
print(missing_pct.sort_values(ascending=False))

df.duplicated().sum() — Encontrando linhas duplicadas

df.duplicated() retorna uma série booleana que marca as linhas que são cópias exatas de uma linha anterior. Somá-la conta quantas duplicatas existem.

Você pode restringir a verificação de duplicatas às colunas-chave com subset — útil quando um id deve ser exclusivo.

print(df.duplicated().sum())            # exact duplicate rows
print(df.duplicated(subset=["id"]).sum()) # duplicate ids

df = df.drop_duplicates()

value_counts() — Frequências das categorias

value_counts() conta quantas vezes cada valor distinto aparece em uma coluna. É a ferramenta principal para inspecionar categorias.

Use normalize=True para ver proporções em vez de contagens brutas e dropna=False para incluir valores ausentes na contagem.

print(df["city"].value_counts())
print(df["city"].value_counts(normalize=True))
print(df["city"].value_counts(dropna=False))

Verificando a cardinalidade

Cardinalidade é o número de valores distintos em uma coluna, obtido com nunique().

  • Baixa cardinalidade (poucas categorias) → boa opção para codificação de variáveis indicadoras.
  • Alta cardinalidade (milhares de textos distintos, por exemplo, identificadores de usuários) → geralmente não é uma característica útil sem transformação.
for col in df.select_dtypes("object").columns:
    print(col, "->", df[col].nunique(), "unique")

Identificando colunas constantes e semelhantes a identificadores

Durante a criação do perfil, vale a pena sinalizar dois extremos:

  • Colunas constantes (nunique() == 1) não carregam nenhuma informação — remova-as.
  • Colunas semelhantes a identificadores (nunique() == len(df)) são únicas por linha e não fornecem informações úteis para a maioria dos modelos.
n = len(df)
for col in df.columns:
    u = df[col].nunique()
    if u == 1:
        print(col, "is constant")
    elif u == n:
        print(col, "is ID-like")

Tipos de dados e uso de memória

Verifique df.dtypes para confirmar que as colunas estão armazenadas corretamente e df.memory_usage(deep=True) para encontrar as colunas que ocupam mais espaço.

Converter tipos numéricos para representações menores e transformar textos de baixa cardinalidade em category pode reduzir drasticamente o uso de memória em grandes conjuntos de dados.

print(df.dtypes)
print(df.memory_usage(deep=True))

df["city"] = df["city"].astype("category")

Um trecho reutilizável para criação de perfil

Você pode reunir toda a lista de verificação em uma única função auxiliar para que todo novo conjunto de dados receba o mesmo tratamento inicial.

Execute-a assim que carregar qualquer DataFrame para identificar imediatamente escala, tipos, dados ausentes, duplicatas e cardinalidade.

def profile(df):
    print("Shape:", df.shape)
    print(df.info())
    print("Missing:\n", df.isnull().sum())
    print("Dupes:", df.duplicated().sum())
    for c in df.select_dtypes("object"):
        print(c, df[c].nunique(), "unique")

profile(df)

Verificação rápida: valores ausentes

Você quer obter a porcentagem de valores ausentes em cada coluna.

Recapitulação: a lista de verificação inicial de EDA

Agora você tem uma rotina inicial repetível para qualquer conjunto de dados:

  • shape e head() para obter a escala e uma prévia
  • info() para obter os tipos de dados e as contagens de valores não nulos
  • describe() para obter resumos numéricos e indícios de valores atípicos
  • isnull().sum() para verificar os dados ausentes
  • duplicated().sum() para encontrar linhas duplicadas
  • value_counts() e nunique() para obter frequências das categorias e cardinalidade

Em seguida, vamos analisar detalhadamente colunas individuais com análise univariada.

Perguntas Frequentes

A aula “Fluxo de trabalho de EDA e criação de perfil dos dados” é grátis?

Sim — o texto completo de “Fluxo de trabalho de EDA e criação de perfil dos dados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Fluxo de trabalho de EDA e criação de perfil dos dados”?

df.info(), df.describe(), auditoria de valores ausentes, verificação de tipos de dados e análise de cardinalidade. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Fluxo de trabalho de EDA e criação de perfil dos dados”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fluxo de trabalho de EDA e criação de perfil dos dados
  2. Análise univariada
  3. Análise bivariada e multivariada
  4. Distribuição de atributos e análise do alvo
← Voltar para Learn AI with Python