zoukankan      html  css  js  c++  java
  • python 特定份数的数据概率统计(原创)

    使用numpy模块中的histogram函数模块

    Histogram(a,bins=10,range=None,normed=False,weights=None)
    其中,

    a是保存待统计数据的数组,

    bins指定统计的区间个数,即对统计范围的等分数。

    range是一个长度为2的元组,表示统计范围的最小值和最大值,默认值为None,表示范围由 数据的范围决定,即(a.min(), a.max()).

    当normed参数为False时,函数返回数组a中的数据在每个区间的个数,否则对个数进行正规化处理,使它等于每个区间的概宇密度。

    weights参数和 bincount()的类似。



    import numpy as np
    import matplotlib.pylab as plt
    
    #一个瑞丽分布模型
    sampleNO = 80000
    data0 = np.random.normal(0, 2, sampleNO)
    data1 = np.random.normal(0, 2, sampleNO)
    data = (data0**2+data1**2)**0.5
    
    #分成100份进行统计,bins=1000
    cnts, bins = np.histogram(data, bins=100, normed=False)
    
    #计算每份区间中值
    bins = (bins[:-1] + bins[1:]) / 2
    #数据归一化处理,当然这里也可以不归一化表示频数
    cnts = cnts/sampleNO
    bins1 = bins/max(bins1)
    
    # 显示图例
    plt.plot(bins, cnts)
    plt.legend()
    plt.show()

    图谱显示:

  • 相关阅读:
    Jenkins 完成安装环境配置
    Jenkins中文社区的所有镜像地址
    VueX源码分析(3)
    VueX源码分析(2)
    VueX源码分析(1)
    Element表单验证(2)
    Element表单验证(1)
    配置淘宝镜像,不使用怪异的cnpm
    React动态import()
    cnpm 莫名奇妙bug 莫名奇妙的痛
  • 原文地址:https://www.cnblogs.com/Mufasa/p/10030867.html
Copyright © 2011-2022 走看看