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

 

圖譜顯示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM