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

 

图谱显示:

posted on 2018-11-28 10:59  周健康  阅读(1622)  评论(1编辑  收藏  举报

导航