从t中缺少ppf函数

时间:2013-09-13 14:34:23

标签: python numpy

我正在尝试重现此处给出的示例:http://jkitchin.github.io/blog/2013/02/12/Nonlinear-curve-fitting-with-parameter-confidence-intervals/

所以我导入了这样的模块:

from scipy.stats.distributions import t

但是当我尝试一个简单的

    tval = t.ppf(1-alpha/2, dof) 

我有例外:

AttributeError: 'numpy.ndarray' object has no attribute 'ppf'

所以这是一个numpy.ndarray。但是,如果我阅读文档,它应该是一个对象,使用方法。

你对发生的事情有所了解吗?

1 个答案:

答案 0 :(得分:1)

看起来你可能已经用某个数组覆盖了变量t。您的错误消息的含义是tnumpy.ndarray,没有ppf方法。您要导入的t不应该是ndarray,而应该是分发生成器。

找到它成为数组的位置并在那里使用其他名称,或者使用更好的名称导入。

例如,尝试将导入行更改为:

from scipy.stats import distrbutions as dists

然后将问题行更改为:

tval = dists.t.ppf(1-alpha/2, dof)

可替换地:

from scipy.stats.distributions import t as tdist
tval = tdist.ppf(1-alpha/2, dof)