Como escolher uma escolha aleatória usando uma distribuição de probabilidade personalizada

Eu tenho uma lista de nomes dos EUA e seus respectivos nomes no site do censo dos EUA. Eu gostaria de gerar um nome aleatório desta lista usando a probabilidade dada. Os dados estão aqui:Dados do Censo dos EUA

Eu vi algoritmos como oseleção de roleta algoritmo que são fáceis de implementar, mas eu queria saber se havia alguma maneira de gerar nomes aleatórios em O (1). Paradados do histograma isso é mais fácil, já que você pode criar um hash de inteiros para aniversários, mas eu gostaria de fazer isso para uma distribuição contínua.

Se isso não for possível, existem módulos python que aceitam distribuições de probabilidade e geram valores aleatórios com base nessas distribuições?

questionAnswers(2)

yourAnswerToTheQuestion