Analise de planilha usando chat gpt
chat você pode analisar os tipos de dados que contém nessa planilha?
Sim. Li o arquivo “Média de notas.csv” e ele tem 6 colunas. Os tipos de dados (inferidos automaticamente ao importar o CSV) são:
Tipos de dados por coluna (considerando só as linhas preenchidas)
Observação importante: o CSV tem 999 linhas, mas 979 estão completamente vazias. Quando removo essas linhas vazias, sobram 20 linhas reais.
Coluna Tipo (dtype) Preenchidos Vazios Exemplo
Aluno object (texto) 20 0 “Marcelo Barbosa”
Prova 1 float64 (número com decimal) 20 0 6.5
Prova 2 float64 (número com decimal) 20 0 8.3
Prova 3 float64 (número com decimal) 20 0 9.2
Prova 4 float64 (número com decimal) 20 0 7.2
Nota final float64 (número com decimal) 0 20 (tudo vazio)
O que isso significa na prática
Aluno é texto (por isso object).
Prova 1–4 são números decimais (float64), o que faz sentido porque há notas como 6.5, 8.3 etc.
Nota final está definida como número (float64), mas não tem nenhum valor preenchido no arquivo — está 100% vazia.
certo, agora você poderia calcular a média aritmética das notas de cada um dos alunos?
Sim. A média aritmética de cada aluno é:
média=Prova 1 + Prova 2 + Prova 3 + Prova 4
Aluno Média
Aluno Média
Marcelo Barbosa 7.80
Rafaela Santos 6.20
Ronaldo Santos 6.73
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
Letícia 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
gere um grafico de dispersão das médias dos estudantes :
utilizei o google collab
import matplotlib.pyplot as plt
nomes = ['Marcelo', 'Rafaela', 'Ronaldo', 'Lucas', 'Luana', 'Mariana',
'Maria E.', 'Fernando', 'Pedro H.', 'Ana P.', 'Natália', 'João V.',
'Rodrigo', 'Gustavo', 'Letícia', 'Aline', 'Marcos V.', 'Carla',
'Isabela', 'Bruna']
indices = list(range(1, 21))
medias = [7.80, 6.20, 6.73, 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.60, 5.73, 3.05, 6.43, 7.25]
plt.figure(figsize=(12, 6))
plt.scatter(indices, medias, s=100, c='blue', edgecolors='black')
for i, nome in enumerate(nomes):
plt.annotate(nome, (indices[i], medias[i]), fontsize=8, ha='center')
plt.axhline(y=sum(medias)/len(medias), color='red', linestyle='--', label='Média geral')
plt.xlabel('Índice do Estudante')
plt.ylabel('Média das Notas')
plt.title('Gráfico de Dispersão das Médias dos Estudantes')
plt.ylim(0, 10)
plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.savefig('grafico_dispersao.png', dpi=150) # Salva a imagem!
plt.show()