Análise e Visualização de Dados com Python 🐍 Etapa 12

 Seja muito bem-vindo à Academy Code Christ!


🌍 Academy Code Christ está disponível em vários idiomas.
Fique à vontade para usar o tradutor na Barra lateral (Sidebar) e aprender no seu idioma.

Python 🐍 Etapa 12
Análise de Dados



📚 Continue sua jornada de aprendizado


A Academy Code Christ oferece trilhas de aprendizado em diferentes tecnologias. Explore os cursos, acompanhe as aulas e avance em sua jornada de conhecimento acessando os menus correspondentes:



💻 Pratique o que você aprende


🎯 O que é análise de dados?

A análise de dados é o processo de coletar, limpar, organizar e interpretar informações para apoiar a tomada de decisões.

 Em Python, isso é possível de forma prática e poderosa através de bibliotecas criadas especificamente para manipulação tabular, cálculos estatísticos e visualização gráfica.

Vamos conhecer as principais ferramentas:


Biblioteca

Função principal

Pandas

Manipulação e análise de dados (tabelas, planilhas, séries).

NumPy

Cálculos numéricos rápidos e matrizes multidimensionais.

Matplotlib

Gráficos e visualização de dados.

Seaborn (opcional)

Gráficos estatísticos de alto nível com base no Matplotlib.



Instalando as bibliotecas


Antes de começar, instale os pacotes necessários (caso ainda não os tenha):

pip install pandas matplotlib numpy seaborn

 

Após instalados, você poderá importá-los normalmente:

import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

import seaborn as sns

 

Introdução ao Pandas


O Pandas é a ferramenta mais usada para lidar com dados tabulares (como planilhas do Excel ou arquivos CSV).


 Ele trabalha com duas estruturas principais:

●     Series → vetor unidimensional (semelhante a uma lista)


●     DataFrame → tabela de duas dimensões (linhas e colunas)


Exemplo de DataFrame:

import pandas as pd

 

dados = {

    "Nome": ["Ana", "Carlos", "Marina", "João"],

    "Idade": [23, 35, 29, 41],

    "Cidade": ["São Paulo", "Curitiba", "Rio", "Brasília"]

}

 

df = pd.DataFrame(dados)

print(df)

 

Saída:

    Nome  Idade     Cidade

0     Ana     23  São Paulo

1  Carlos     35   Curitiba

2  Marina     29        Rio

3    João     41   Brasília



Explorando dados básicos


Pandas possui vários métodos úteis:

df.head()       # mostra 5 primeiras linhas

df.tail()       # mostra 5 últimas linhas

df.info()       # informações gerais (tipos, memória, etc.)

df.describe()   # estatísticas resumidas das colunas numéricas

 

Lendo e gravando arquivos externos


Você pode importar e exportar arquivos de diversos formatos.

Ler um arquivo CSV:

df = pd.read_csv("clientes.csv")

 

Gravar um novo CSV:

df.to_csv("novo_arquivo.csv", index=False)

 

Também é possível:

●     Ler Excel → pd.read_excel("arquivo.xlsx")

●     Ler JSON → pd.read_json("dados.json")


Selecionando dados


Pandas torna fácil localizar e filtrar informações.

# Selecionar coluna

print(df["Nome"])

 

# Selecionar múltiplas colunas

print(df[["Nome", "Cidade"]])

 

# Selecionar linha por índice

print(df.loc[1])

 

# Filtro por condição

print(df[df["Idade"] > 30]) 


Adicionando e removendo dados


df["Profissão"] = ["Engenheira", "Professor", "Designer", "Médico"]

df.drop("Cidade", axis=1, inplace=True)  # remove coluna 


Estatísticas rápidas


Pandas facilita cálculos:

print("Idade média:", df["Idade"].mean())

print("Idade máxima:", df["Idade"].max())

print("Idade mínima:", df["Idade"].min())

print("Soma total de idades:", df["Idade"].sum())

 

Agrupando informações (groupby)


Quando os dados têm categorias, podemos agrupá-los e sumarizar:

dados = {

    "Setor": ["TI", "RH", "TI", "Vendas", "RH", "TI"],

    "Salário": [5000, 3200, 5500, 3000, 3400, 5200]

}

 

df = pd.DataFrame(dados)

media = df.groupby("Setor")["Salário"].mean()

print(media)

 

Saída:

Setor

RH         3300.0

TI         5233.3

Vendas     3000.0

Name: Salário, dtype: float64

 


Lidando com valores ausentes (NaN)


Dados reais raramente são perfeitos. Às vezes há valores em falta.

import numpy as np

 

df.loc[2, "Salário"] = np.nan

 

print(df.isna())       # mostra onde há valores vazios

print(df.fillna(0))    # substitui NaN por 0

df.dropna(inplace=True) # remove linhas vazias 


Ordenando dados


df.sort_values("Salário", ascending=False, inplace=True) 


Visualização com Matplotlib


Agora que temos dados estruturados, é hora de enxergar padrões visuais.

import matplotlib.pyplot as plt

 

idades = [23, 45, 33, 25, 29, 40, 38]

plt.hist(idades, bins=5, color="skyblue", edgecolor="black")

plt.title("Distribuição de Idades")

plt.xlabel("Faixa de Idade")

plt.ylabel("Frequência")

plt.show()

 

Cria um gráfico de distribuição (histograma) simples e informativo.


Gráfico de barras


cidades = ["São Paulo", "Curitiba", "Belo Horizonte", "Recife"]

populacao = [12.3, 1.9, 2.5, 1.6]

 

plt.bar(cidades, populacao, color=["purple", "green", "orange", "blue"])

plt.ylabel("Milhões de habitantes")

plt.title("População por cidade")

plt.show()

 


Gráfico de linhas


Usado para representar tendências ao longo do tempo.

meses = ["Jan", "Fev", "Mar", "Abr", "Mai"]

vendas = [2300, 2700, 2100, 3000, 2800]

 

plt.plot(meses, vendas, marker="o", color="teal")

plt.title("Vendas mensais")

plt.xlabel("Mês")

plt.ylabel("Vendas (R$)")

plt.grid(True)

plt.show()

 


Gráfico de pizza


gastos = [500, 200, 150, 150]

categorias = ["Aluguel", "Alimentação", "Transporte", "Lazer"]

 

plt.pie(gastos, labels=categorias, autopct="%1.1f%%", startangle=90)

plt.title("Distribuição de Gastos")

plt.show()

 


Visualização usando Seaborn


Seaborn fornece gráficos mais vistosos e prontos.

import seaborn as sns

 

sns.set(style="whitegrid")

 

altura = [1.70, 1.65, 1.75, 1.80, 1.60]

peso = [65, 59, 73, 80, 55]

 

sns.scatterplot(x=altura, y=peso)

plt.title("Relação altura x peso")

plt.xlabel("Altura (m)")

plt.ylabel("Peso (kg)")

plt.show()

 

O Seaborn oferece ainda gráficos de correlação, densidade e distribuição.

Exemplo de gráfico de barras com Seaborn:

df = pd.DataFrame({

    "Produto": ["A", "B", "C", "A", "B", "C"],

    "Vendas": [30, 42, 35, 25, 45, 38]

})

sns.barplot(x="Produto", y="Vendas", data=df, palette="mako")

plt.title("Média de vendas por produto")

plt.show()

 

Análise prática: Vendas por categoria


import pandas as pd

import matplotlib.pyplot as plt

 

dados = {

    "Categoria": ["Eletrônicos", "Vestuário", "Livros", "Eletrônicos", "Vestuário", "Livros"],

    "Vendas": [3500, 1200, 900, 4200, 1800, 1000]

}

 

df = pd.DataFrame(dados)

media = df.groupby("Categoria")["Vendas"].mean()

 

media.plot(kind="bar", color=["blue", "green", "orange"])

plt.title("Média de vendas por categoria")

plt.ylabel("Vendas médias (R$)")

plt.show()

 

Apenas com essas poucas linhas, você produz gráficos visualmente claros e profissionais.


Gerando relatórios automáticos


Você pode salvar seus gráficos e resultados diretamente:

plt.savefig("relatorio_vendas.png", dpi=300)

df.to_csv("relatorio.csv", index=False)

 


Mini‑projeto prático: Análise de desempenho escolar


Vamos consolidar tudo: leitura de dados, tratamento, análise e gráficos.

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

 

# Dados simulados

dados = {

    "Aluno": ["Ana", "Bruno", "Carlos", "Diana", "Eduardo", "Fernanda"],

    "Matemática": [8.5, 6.0, 7.0, 5.5, 9.0, 8.0],

    "Português": [7.5, 5.0, 6.5, 8.0, 7.0, 9.5],

    "Inglês": [9.0, 6.5, 7.5, 5.0, 8.5, 9.0]

}

 

df = pd.DataFrame(dados)

df["Média"] = df[["Matemática", "Português", "Inglês"]].mean(axis=1)

 

# Exibe informações básicas

print(df)

print("\nMédia geral da turma:", round(df["Média"].mean(), 2))

 

# Gráfico de desempenho individual

sns.barplot(x="Aluno", y="Média", data=df, palette="viridis")

plt.axhline(df["Média"].mean(), color="red", ls="--", label="Média da turma")

plt.legend()

plt.title("Desempenho Escolar - Média por Aluno")

plt.show()

 

Com poucas linhas você criou um sistema de análise educacional completo, com insights visuais instantâneos.



Boas práticas em análise e visualização


1.    Conheça seus dados: sempre verifique tipos, valores ausentes e outliers.

2.    Limpe antes de analisar: padronize nomes e formatos.

3.    Evite poluição visual: menos é mais em gráficos.

4.    Use cores estrategicamente: contraste e clareza ajudam a compreensão.

5.    Documente etapas da análise: isso garante reprodutibilidade.


Resumo 

Nesta etapa, você aprendeu a:

 ✅ Utilizar Pandas para manipular dados tabulares.
 ✅ Criar, filtrar, agrupar e calcular estatísticas de colunas.
 ✅ Lidar com valores ausentes e ordenar dados.
 ✅ Gerar
gráficos informativos com Matplotlib e Seaborn.
 ✅ Salvar gráficos, relatórios e análises completas.
 ✅ Produzir um mini-projeto de
análise escolar automatizada.


Com esse conhecimento, você já domina as ferramentas básicas para o campo da Ciência de Dados e pode criar dashboards e relatórios inteligentes.


🎯 Na próxima etapa, abordaremos o acesso a bancos de dados e integração com SQL, onde você aprenderá a conectar Python a sistemas de armazenamento reais e consultar informações de forma eficiente.



Este conteúdo faz parte do Academy Code Christ. 

Um projeto criado para ajudar jovens e iniciantes a aprender programação do zero, de forma simples e gratuita.

Nossa missão é compartilhar conhecimento e incentivar mais pessoas a descobrir que também podem aprender tecnologia, criar projetos e desenvolver novas habilidades.
Todo o conteúdo é disponibilizado gratuitamente, de forma clara, prática e 
sem enrolação. 

Você pode apoiar o projeto se quiser 
com um café. 



Post a Comment

Postagem Anterior Próxima Postagem