Diferenças entre numpy.random e random.random em Python

Eu tenho um grande script em Python. Eu me inspirei no código de outras pessoas, então acabei usando onumpy.random para algumas coisas (por exemplo, para criar uma matriz de números aleatórios extraídos de uma distribuição binomial) e em outros locais eu uso o módulorandom.random.

Alguém pode me dizer as principais diferenças entre os dois? Olhando para a página de documentos de cada um dos dois, parece-me quenumpy.random apenas tem mais métodos, mas não estou claro como a geração dos números aleatórios é diferent

A razão pela qual estou perguntando é porque preciso propagar meu programa principal para fins de depuração. Mas não funciona, a menos que eu use o mesmo gerador de números aleatórios em todos os módulos que estou importando, está correto?

Além disso, li aqui, em outro post, uma discussão sobre NÃO usarnumpy.random.seed(), mas eu realmente não entendi por que essa era uma idéia tão ruim. Eu realmente aprecio se alguém me explicar por que esse é o cas

questionAnswers(3)

yourAnswerToTheQuestion