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!