Matplotlib: Как преобразовать гистограмму в дискретную функцию вероятности?
У меня есть вопрос, касающийся функции hist () с помощью matplotlib.
Я пишу код для построения гистограммы данных, значение которой варьируется от 0 до 1. Например:
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()
Приведенный выше код генерирует правильную гистограмму (я не смог опубликовать изображение, так как мне не хватает репутации). С точки зрения частот это выглядит так:
[0 0 2 0 1 1 0 0 1 1]
Я хотел бы преобразовать этот вывод в функцию массовой дискретной вероятности, то есть для приведенного выше примера, я хотел бы получить следующие значения частоты:
[ 0. 0. 0.333333333 0. 0.166666667 0.166666667 0. 0. 0.166666667 0.166666667 ] # each item in the previous array divided by 6)
Я подумал, что мне просто нужно изменить параметр в функции hist () на «normed = 1». Тем не менее, я получаю следующие частоты гистограммы:
[ 0. 0. 3.33333333 0. 1.66666667 1.66666667 0. 0. 1.66666667 1.66666667 ]
Это не то, чего я ожидаю, и я не знаю, как получить дискретную функцию вероятности, сумма которой должна быть равна 1,0. Аналогичный вопрос задавался по следующей ссылке (ссылка на вопрос), но я не думаю, что вопрос был решен.
Я благодарен за вашу помощь заранее.