CDF / PDF图未显示

时间:2014-08-31 23:16:50

标签: python numpy matplotlib pandas ipython

我能够从Pandas数据帧中获得直方图,看起来很好。我还希望在同一图上将PDf / CDF显示为折线图。

我的代码:

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 个答案:

答案 0 :(得分:1)

norm.pdf(x)计算标准正态分布的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)