Matplotlib: Como converter um histograma em uma função de massa de probabilidade discreta?

Eu tenho uma pergunta sobre a função hist () com matplotlib.

Estou escrevendo um código para traçar um histograma de dados cujo valor varia de 0 a 1. Por exemplo:

values = [0.21, 0.51, 0.41, 0.21, 0.81, 0.99]

bins = np.arange(0, 1.1, 0.1)
a, b, c = plt.hist(values, bins=bins, normed=0)
plt.show()

O código acima gera um histograma correto (não consegui postar uma imagem, pois não tenho reputação suficiente). Em termos de frequências, parece que:

[0 0 2 0 1 1 0 0 1 1]

Eu gostaria de converter essa saída para uma função de massa de probabilidade discreta, ou seja, para o exemplo acima, eu gostaria de obter os seguintes valores de frequência:

[ 0.  0.  0.333333333  0.  0.166666667  0.166666667  0.  0.  0.166666667  0.166666667 ] # each item in the previous array divided by 6)

Eu pensei que eu simplesmente precisava mudar o parâmetro na função hist () para 'normalizado = 1'. No entanto, recebo as seguintes frequências do histograma:

[ 0.  0.  3.33333333  0.  1.66666667  1.66666667  0.  0.  1.66666667  1.66666667 ]

Isso não é o que eu espero e não sei como obter a função de massa de probabilidade discreta cuja soma deve ser 1.0. Uma pergunta semelhante foi feita no seguinte link (link para a pergunta), mas eu não acho que a questão foi resolvida.

Agradeço por sua ajuda antecipadamente.

questionAnswers(2)

yourAnswerToTheQuestion