1
resposta

Desafio: bora praticar? Exercício 4

Caros colegas,

Usei o código fornecido, mas a série proposta retornou um Dataframe dados com valores nulos. Podem me ajudar a entender onde está o erro?

selecao = dados.query('Aprovado == False & Aprovado_final == True') dados[selecao]

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Claudio, tudo bem?

Para entender o porquê desse comportamento, vamos entender melhor o que cada código faz. No código abaixo:

alunos.query('Aprovado == False & Aprovado_final == True')

Ele deve retornar um DataFrame com os alunos que não foram aprovados inicialmente, mas que foram aprovados após a adição dos pontos extras. O resultado de alunos.query(...) já é um DataFrame, então você não precisa usar dados[selecao]. Se você tentar usar um DataFrame como um índice de outro DataFrame, isso não funcionará como esperado, o que pode estar causando o problema de retorno de valores nulos.

Então, para corrigir o seu código, você pode usar apenas o método query(), como no código acima ou criar a seleção booleana e filtrar diretamente, sem usar query() e [] juntos. Seria assim:

selecao = (dados['Aprovado'] == False) & (dados['Aprovado_final'] == True)
dados[selecao]

Espero ter esclarecido à dúvida e fico à disposição.

Qualquer dúvida, compartilhe no fórum.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!