2014-08-31 150 views
0

我能夠從Pandas數據框中獲得直方圖顯示正常。我也想在同一個圖上顯示PDf/CDF的折線圖。CDF/PDF陰謀沒有顯示

我的代碼:

import scipy.stats as stats 
from scipy.stats import norm 

samples=twentyandmiddle['age'] 
print samples.head(5) 

plt.hist(samples, bins=40, normed=True) 

#samples=samples[0] 
plt.plot(samples,norm.pdf(samples), 'r-', lw=5, alpha=0.6, label='sample pdf') 
plt.plot(samples,norm.cdf(samples), 'k-', lw=2, alpha=0.6, label='sample cdf') 
plt.legend(loc='best', frameon=False) 
plt.show() 

我的問題是:在CDF/PDF線只是0整個圖,像這樣:

cdf/pdf

有什麼不對?

head輸出該:

0 59 
1 58 
2 57 
3 54 
4 51 
Name: age, dtype: int64 

回答

1

norm.pdf(x)計算標準正常disttribution的PDF,均值爲0和std。開發。 1.看起來你的數值都大於20. norm.pdf(20)是5.52e-88。同樣,norm.cdf(20)是1.0。

您的意思是先適合數據的正態分佈,然後繪製擬合分佈的PDF和CDF?如果是這樣,您需要在調用中包含擬合參數;例如norm.pdf(x, loc=mu, scale=stddev)norm.cdf(x, loc=mu, scale=stddev)

+0

這就是我的意思,謝謝。 – 2014-09-01 01:37:40