Python中的概率分布函数
我知道怎么在Python里创建直方图,但我想要的是概率密度分布。
我们先从我的例子开始。我有一个数组d
,里面有500000个元素。通过下面的代码,我正在制作一个简单的直方图,告诉我我的数组d
中有多少元素落在每个区间里。
max_val=log10(max(d))
min_val=log10(min(d))
logspace = np.logspace(min_val, max_val, 50)
H=hist(select,bins=logspace,histtype='step')
问题是,这个图不是我想要的。我想要的是我的数组d
的概率分布函数。我希望得到的是每个区间内元素的概率,而不是每个区间里有多少元素。我试过用normed=True,但这似乎不管用,因为我的区间是等距对数分布的。
1 个回答
2
不太清楚你提到的 hist
函数是什么。如果你在用 NumPy 的 histogram
函数,可以试着把 density
设置为 True
。具体可以参考这个链接:http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html。