Análise univariada
Gráficos de distribuição, histogramas, diagramas de caixa e gráficos de contagem para compreender atributos individuais.
Análise univariada é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 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 univariada?
Análise univariada examina uma variável por vez para entender sua distribuição: centro, dispersão, formato e valores incomuns.
O gráfico adequado depende do tipo de variável:
- Numérica → histograma, KDE, gráfico de caixa, gráfico de violino
- Categórica → gráfico de contagem (gráfico de barras de frequências)
Configurando as bibliotecas de criação de gráficos
Usamos Matplotlib (plt) e Seaborn (sns). A Seaborn é construída sobre a Matplotlib e oferece padrões mais agradáveis para gráficos estatísticos.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")Histogramas com plt.hist
Um histograma agrupa valores numéricos em intervalos e conta quantos caem em cada um. Ele revela o formato geral de uma distribuição.
O argumento bins controla a resolução — poucos intervalos ocultam a estrutura, enquanto muitos acrescentam ruído.
plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()Gráficos KDE — densidade suavizada
Uma estimativa de densidade por kernel (sns.kdeplot) desenha uma curva suave que aproxima a distribuição, o que pode ser mais fácil de interpretar do que barras irregulares de um histograma.
Combine os dois com sns.histplot(..., kde=True) para sobrepor a curva suave às barras.
sns.kdeplot(df["age"], fill=True)
plt.show()
sns.histplot(df["age"], bins=30, kde=True)
plt.show()Identificando assimetria
skew mede a assimetria. Uma cauda longa à direita é uma assimetria à direita (positiva); uma cauda longa à esquerda é uma assimetria à esquerda (negativa).
Renda, preços e contagens geralmente apresentam assimetria à direita. Você pode quantificá-la com df[col].skew() — valores muito distantes de 0 indicam assimetria.
print(df["income"].skew()) # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()Identificando a bimodalidade
Uma distribuição bimodal tem dois picos, muitas vezes um sinal de que dois grupos distintos estão misturados (por exemplo, dois tipos de produto em uma única coluna de preços).
Os gráficos KDE tornam a bimodalidade evidente — procure duas elevações. Isso é uma indicação de que uma variável categórica oculta pode explicar a separação.
sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()Gráficos de caixa com sns.boxplot
Um gráfico de caixa mostra a mediana (linha central), o intervalo interquartil (IQR, a caixa) e bigodes que se estendem até aproximadamente 1,5 vezes o IQR. Os pontos além dos bigodes são sinalizados como valores atípicos.
sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()Valores atípicos e a regra do IQR
O gráfico de caixa usa a regra do IQR: um ponto é um valor atípico se estiver abaixo de Q1 - 1.5*IQR ou acima de Q3 + 1.5*IQR.
Você pode calcular os limites por conta própria para filtrar ou limitar valores extremos.
q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")Gráficos de violino com sns.violinplot
Um gráfico de violino combina um gráfico de caixa com um KDE espelhado. A largura em cada altura mostra a densidade, permitindo ver o formato e as estatísticas resumidas ao mesmo tempo.
Os gráficos de violino são ótimos para revelar assimetria ou bimodalidade que um gráfico de caixa simples ocultaria.
sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()Gráficos de contagem para variáveis categóricas
Para colunas categóricas, use sns.countplot — um gráfico de barras das frequências das categorias. Ele é a representação visual de value_counts().
Ordene as barras por frequência para facilitar a leitura usando o argumento order.
order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()Escolhendo o gráfico univariado adequado
Guia rápido para decidir:
- Formato de uma coluna numérica → histograma ou KDE
- Valores atípicos e quartis → gráfico de caixa
- Formato e resumo juntos → gráfico de violino
- Frequências das categorias → gráfico de contagem
Verificação rápida: escolha do gráfico
Você quer ver a mediana, os quartis e os valores atípicos de uma única coluna numérica.
Recapitulação: análise univariada
Você aprendeu a examinar uma variável por vez:
plt.histesns.kdeplotpara o formato da distribuição.skew()para quantificar a assimetria; elevações no KDE para identificar bimodalidadesns.boxplote a regra do IQR para valores atípicossns.violinplotpara observar formato e resumo juntossns.countplotpara frequências categóricas
Em seguida, veremos as relações entre duas ou mais variáveis.
Perguntas Frequentes
A aula “Análise univariada” é grátis?
Sim — o texto completo de “Análise univariada” é 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 “Análise univariada”?
Gráficos de distribuição, histogramas, diagramas de caixa e gráficos de contagem para compreender atributos individuais. 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 2 de 4.
Quanto tempo leva a aula “Análise univariada”?
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
- Fluxo de trabalho de EDA e criação de perfil dos dados
- Análise univariada
- Análise bivariada e multivariada
- Distribuição de atributos e análise do alvo