gpt4 book ai didi

python - 如何继承 scipy.stats.norm?

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:57 26 4
gpt4 key购买 nike

我想对 scipy.stats.norm 进行子类化,这样我就可以拥有具有附加功能的卡住分布实例(即具有特定的均值/方差)。但是,我无法通过构建实例的第一步。

编辑:这是演示我的问题的交互式 session 的记录(我没有什么可以袖手旁观的)

In [1]: import scipy.stats

In [2]: class A(scipy.stats.norm):
...: def __init__(self):
...: super( A, self).__init__()
...:
...:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)

/home/Dave/src/python2.7/density_estimation/<ipython console> in <module>()

/usr/lib64/python2.7/site-packages/scipy/stats/distributions.pyc in __init__(self, momtype, a, b, xa, xb, xtol, badvalue, name, longname, shapes, extradoc)
958
959 if longname is None:
--> 960 if name[0] in ['aeiouAEIOU']:
961 hstr = "An "
962 else:

TypeError: Error when calling the metaclass bases
'NoneType' object is not subscriptable

我可以看到 scipy.stats 正在做一些奇怪的事情,其中​​ norm 是某物的特定实例(某种类型?),但它不是普通类定义,所以我不知道如何为它调用构造函数。

编辑 #2:scipy 版本可能相关。

In [19]: scipy.__version__
Out[19]: '0.9.0'

最佳答案

scipy.stats.norm 不是一个类。它是 scipy.stats.norm_gen 的一个实例。调用 norm(*args, **kwds) 将返回一个 rv_frozen 实例,其中包含 norm 和您提供的参数。如果您想要一种新的卡住分布,子类 rv_frozen 以添加您的方法并使用 norm 和参数实例化它。不要担心 norm_gen 的子类化。

关于python - 如何继承 scipy.stats.norm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17975293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com