Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como funciona o JOIN?

Boa Noite, na aula citou a função/método join do pandas: `

matricula.groupby('id_curso').count().join(cursos['Nome do curso']).rename(columns={'id_aluno' : 'Quantidade_Alunos'})

´´´ Porém eu não consegui compreender completamente como ele funciona. O que eu entendi: Ele tentará associar os dataframe, seleciona uma coluna no dataframe que irá como parâmetro, porém não entendi como ele identifica no caso, qual é o nome certo do curso para colocar na tabela, ele utiliza o id do curso que está no outro dataframe? Também gostaria de saber se esse método foi ensinado em alguma outra aula?

1 resposta
solução!

Opa Vitor tudo bem??

Conforme podemos encontrar aqui na Documentação, a função groupby envolve uma combinação entre os objetos de um DF.

df = pd.DataFrame({'Animal': ['Falcon', 'Falcon',
                              'Parrot', 'Parrot'],
                   'Max Speed': [380., 370., 24., 26.]})
df
   Animal  Max Speed
0  Falcon      380.0
1  Falcon      370.0
2  Parrot       24.0
3  Parrot       26.0
df.groupby(['Animal']).mean()
        Max Speed
Animal
Falcon      375.0
Parrot       25.0

Neste exemplo podemos ver a criação do df formado pelos animais e velocidade máxima, e depois utilizado o grupoby para concatenar os resultados e retirar a média da velocidade, na sequência referente ao falcão e o papagaio.

Sobre o questionamento que fez com relação aos cursos e aplicação na aula.

"seleciona uma coluna no dataframe que irá como parâmetro, porém não entendi como ele identifica no caso, qual é o nome certo do curso para colocar na tabela, ele utiliza o id do curso que está no outro dataframe? Também gostaria de saber se esse método foi ensinado em alguma outra aula?"

A utilização do join conforme a documentação informa que é feito a junção entre colunas de dois dataframes distintos que compartilhem um index em comum ou coluna chave.

A sua percepção está correta, ele identificou através do Id do curso, então verificou os alunos que possuíam aqueles id`s e somou para ter a coluna "quantidade de alunos"e o join no nome do curso referente aquele id do curso.

df.join(other, lsuffix='_caller', rsuffix='_other')
  key_caller   A key_other    B
0         K0  A0        K0   B0
1         K1  A1        K1   B1
2         K2  A2        K2   B2
3         K3  A3       NaN  NaN
4         K4  A4       NaN  NaN
5         K5  A5       NaN  NaN
If we want to join using the key columns, we need to set key to be the index in both df and other. The joined DataFrame will have key as its index.

df.set_index('key').join(other.set_index('key'))
      A    B
key
K0   A0   B0
K1   A1   B1
K2   A2   B2
K3   A3  NaN
K4   A4  NaN
K5   A5  NaN

Ficou mais claro? Caso sua dúvida persista, só retornar aqui e a gente tenta outra explicação!