我可以从熊猫的数据中得到一个直方图,以显示良好。我还想在同一幅图上显示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,如下所示:

怎么了?
head输出如下:
0 59
1 58
2 57
3 54
4 51
Name: age, dtype: int64发布于 2014-09-01 01:10:44
norm.pdf(x)计算标准正常分布的PDF,平均值为0和std。dev.1.你的数值似乎都大于20,norm.pdf(20)是5.52e-88。类似地,norm.cdf(20)是1.0。
您是否打算先将正态分布与您的数据相匹配,并绘制拟合分布的PDF和PDF?如果是这样,则需要在调用中包含已安装的参数;例如,norm.pdf(x, loc=mu, scale=stddev)和norm.cdf(x, loc=mu, scale=stddev)。
https://stackoverflow.com/questions/25597127
复制相似问题