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()

    图谱显示:

  • 相关阅读:
    day 15 小结
    python中的数据类型以及格式化输出
    编程语言简介
    计算机简介
    堆排
    Lock锁
    JVM入门
    Java中反射调用私有方法出现NoSuchMethodException
    1248. 统计「优美子数组」
    注解
  • 原文地址:https://www.cnblogs.com/Mufasa/p/10030867.html
Copyright © 2011-2022 走看看