Na disciplina de python pandas: tratando e analisando dados no tópico 5 há este exercicio.
import pandas as pd
alunos = pd.DataFrame({'Nome': ['Ary', 'Cátia', 'Denis', 'Beto', 'Bruna', 'Dara', 'Carlos', 'Alice'],
'Sexo': ['M', 'F', 'M', 'M', 'F', 'F', 'M', 'F'],
'Idade': [15, 27, 56, 32, 42, 21, 19, 35],
'Notas': [7.5, 2.5, 5.0, 10, 8.2, 7, 6, 5.6],
'Aprovado': [True, False, False, True, True, True, False, False]},
columns = ['Nome', 'Idade', 'Sexo', 'Notas', 'Aprovado'])
Utilizando as técnicas de seleção apresentadas nesta aula, realize os conjuntos de seleções propostos nos exercícios a seguir.
Exercicio 01 - Crie um DataFrame somente com os alunos aprovados. A resposta correta é
selecao = alunos['Aprovado'] == True
aprovados = alunos[selecao]
aprovados
Porém eu fique com a seguinte dúvida, qual a função do True e False na coluna aprovado?
Pq pelas notas baixas e o resultado False eu entendi que o aluno não foi aprovado. Sendo assim a resposta correta não seria aquela que iria mostrar apenas os alunos com True?
Neste caso apenas Ary, beto, Bruna e Dara, alunos com notas maiores do 6.0 seriam os aprovados, no mínimo pela média. Estou errando na minha forma de pensar?
Exercicio 02 - Crie um DataFrame somente com as alunas aprovadas. A resposta considera certa é
selecao = (alunos.Aprovado == True) & (alunos.Sexo == 'F')
aprovadas = alunos[selecao]
aprovadas
Porém aparecem alunas com notas 2,5.
Não seria esta a resposta mais condizente?
alunas_aprovadas_df = alunos[(alunos['Aprovado'] == True) & (alunos['Sexo'] == 'F') & (alunos['Notas'] > 6.0)]
print(alunas_aprovadas_df)