Olá,
Na aula 3 temos o seguinte código para "matricular" os alunos em seus cursos:
for index, row in nomes.iterrows():
  id = row.id_aluno
  matriculas = row.matriculas
  for i in range(matriculas):
    mat = [id, np.random.choice(cursos.index, p = prob)]
    todas_matriculas.append(mat)Como o choice() é chamado "matriculas"-vezes por causa do range(), isso não pode fazer com que um aluno seja matriculado mais de uma vez em um mesmo curso?
Cada vez que o choice() é executado ele retorna um valor aleatório de cursos.index, mas ele não mantém nenhum histórico se o curso já foi escolhido anteriormente.
Qual seria uma solução para esse problema?
Eu pensei em usar permutation() e pegar os primeiros "matriculas" elementos da lista que ele retorna:
for _, row in nomes.iterrows():
  id_aluno = row.id_aluno
  n_matriculas = row.matriculas
  lista_cursos = np.random.permutation(cursos.index)[0:n_matriculas]
  for curso_id in lista_cursos:
    mat = [id_aluno, curso_id]
    todas_matriculas.append(mat)Obrigado
 
            