栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Python的matplotlib中绘制经验CDF?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Python的matplotlib中绘制经验CDF?

看起来(几乎)完全是您想要的。两件事情:

首先,结果是四个项目的元组。第三个是垃圾箱的大小。第二个是最小垃圾箱的起点。第一个是每个垃圾箱中或下方的点数。(最后是超出限制的点数,但是由于您未设置任何点数,因此将对所有点进行分箱。)

其次,您需要调整结果的比例,使最终值为1,以遵循CDF的常规约定,但否则是正确的。

这是它的内幕:

def cumfreq(a, numbins=10, defaultreallimits=None):    # docstring omitted    h,l,b,e = histogram(a,numbins,defaultreallimits)    cumhist = np.cumsum(h*1, axis=0)    return cumhist,l,b,e

它进行直方图处理,然后在每个仓中生成计数的累积和。因此,结果的第i个值是小于或等于第i个bin的最大值的数组值的数量。因此,最终值只是初始数组的大小。

最后,要进行绘制,您需要使用bin的初始值和bin大小来确定所需的x轴值。

另一个选择是使用

numpy.histogram
它可以进行归一化并返回仓边。您需要自己对结果计数进行累加。

a = array([...]) # your array of numbersnum_bins = 20counts, bin_edges = numpy.histogram(a, bins=num_bins, normed=True)cdf = numpy.cumsum(counts)pylab.plot(bin_edges[1:], cdf)

bin_edges[1:]
是每个垃圾箱的上边缘。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650586.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号