我正在尝试重现此处给出的示例: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)
我有一个异常(exception):
AttributeError: 'numpy.ndarray' object has no attribute 'ppf'
所以 t 是一个 numpy.ndarray。但如果我读了文档,它应该是一个带有方法的对象。
你知道发生了什么吗?
最佳答案
看来您可能在某处用数组覆盖了变量t
。您的错误消息意味着 t
是一个 numpy.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)
关于python - t 中缺少 ppf 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18788938/