Análise dos tipos de dados da planilha
A planilha contém:
- Dados categóricos (texto)
Nome do aluno — variável nominal, identificadora.
- Dados numéricos contínuos
Prova 1
Prova 2
Prova 3
Prova 4
Cada uma dessas colunas contém notas, que são valores numéricos decimais.
- Dado numérico derivado (a ser calculado)
Nota final — média aritmética das quatro provas.
Cálculo da média aritmética de cada aluno
A média é dada por:
| Aluno | Média |
|---|---|
| Marcelo Barbosa | 7.80 |
| Rafaela Santos | 6.20 |
| Ronaldo Santos | 6.98 |
| Lucas Gabriel Ribeiro | 7.05 |
| Luana da Silva | 6.93 |
| Mariana Pereira | 4.28 |
| Maria Eduarda Farias | 7.68 |
| Fernando Henrique Silva | 6.25 |
| Pedro Henrique Souza | 6.33 |
| Ana Paula Oliveira | 3.93 |
| Natália Guimarães | 4.75 |
| João Vitor Ferreira | 4.93 |
| Rodrigo Almeida | 5.98 |
| Gustavo Carvalho | 6.85 |
| Leticia Costa | 7.03 |
| Aline da Rocha | 6.60 |
| Marcos Vinicius Lima | 5.73 |
| Carla Cristina Castro | 3.05 |
| Isabela da Costa | 6.43 |
| Bruna Oliveira | 7.25 |
| Column 1 | Column 2 | Column 3 |
|---|---|---|
| Text | Text | Text |
Gráfico de dispersão
import matplotlib.pyplot as plt
names = [
"Marcelo Barbosa","Rafaela Santos","Ronaldo Santos","Lucas Gabriel Ribeiro","Luana da Silva",
"Mariana Pereira","Maria Eduarda Farias","Fernando Henrique Silva","Pedro Henrique Souza",
"Ana Paula Oliveira","Natália Guimarães","João Vitor Ferreira","Rodrigo Almeida",
"Gustavo Carvalho","Leticia Costa","Aline da Rocha","Marcos Vinicius Lima",
"Carla Cristina Castro","Isabela da Costa","Bruna Oliveira"
]
means = [
7.8,6.2,6.98,7.05,6.93,4.28,7.68,6.25,6.33,3.93,4.75,4.93,5.98,6.85,
7.03,6.6,5.73,3.05,6.43,7.25
]
Define a média de corte
media_corte = 6.0
Define cores: Verde para aprovado, Vermelho para reprovado
cores = ['green' if m >= media_corte else 'red' for m in means]
plt.figure(figsize=(14, 7)) # Aumentei um pouco para caber os nomes
Plotando com as cores condicionais
plt.scatter(names, means, c=cores, s=100, alpha=0.7) # 's' aumenta o tamanho do ponto
Adiciona linha da média
plt.axhline(y=media_corte, color='gray', linestyle='--', label=f'Média de Corte ({media_corte})')
plt.title("Desempenho dos Estudantes")
plt.ylabel("Média Final")
plt.xlabel("Estudantes")
Ajusta os nomes no eixo X para ficarem inclinados e legíveis
plt.xticks(rotation=45, ha='right')
plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()