1
resposta

DÚVIDAS__ Seleção (nível 4)

Prezado(a).

Ao fazer o exercício, fiquei com dúvida na estrutura dos seguintes códigos:

1)

selecao = alunos['Aprovado'] == False

reprovados = alunos.loc[selecao, ['Nome', 'Sexo', 'Idade']]

reprovados

2)

selecao = alunos['Aprovado'] == False

reprovados = alunos[['Nome', 'Sexo', 'Idade']][selecao]

reprovados


DÚVIDAS:

1) Por que no código 1 é necessário colocar selecao na parte alunos.loc[selecao, ['Nome', 'Sexo', 'Idade']] ??

2) Por que no código 2 é necessário colocar selecao na parte alunos[['Nome', 'Sexo', 'Idade']][selecao]??

OBS: Note que em aula não vi (ao mesnos não lembro de ter visto) tais inserções dentro da função loc (código 1) e dentro de uma função que fara um novo DataFrame ( código 2)

1 resposta

Olá Thiago,

Como eu expliquei nesse outro tópico a variável selecao vai funcionar como um filtro para selecionarmos apenas os alunos reprovados, e esse filtro pode ser aplicado de mais de um jeito como visto nos seus dois códigos acima.

  • # Como visto no código 1 acima
    dataframe.loc[selecao]
    # Ou
    dataframe.loc[selecao, lista_de_colunas]
  • # Como visto no código 2 acima
    dataframe[selecao]
    # Ou
    dataframe[lista_de_colunas][selecao]
    # Lembrando que "dataframe[lista_de_colunas]" vai retornar um novo DataFrame

Acredito que a origem principal da dúvida seja o uso do selecao para filtrar um DataFrame, então confere o seu outro tópico que eu coloquei o link acima que deve facilitar.

E qualquer dúvida restante é só falar!