我正在尝试扩展rv_discrete scipy类,因为在扩展类时它在每种情况下都可以工作。
我只想添加几个实例属性。
from scipy.stats import rv_discrete
class Distribution(rv_discrete):
def __init__(self, realization):
self._realization = realization
self.num = len(realization)
#stuff to obtain random alphabet and probabilities from realization
super().__init__(values=(alphabet,probabilities))
这应该允许我做这样的事情:
realization = #some values
dist = Distribution(realization)
print(dist.mean())
相反,我收到此错误
ValueError: rv_discrete.__init__(..., values != None, ...)
如果我仅按照下面的代码行创建一个新的rv_discrete对象
dist = rv_discrete(values=(alphabet,probabilities))
效果很好。
知道为什么吗?谢谢您的帮助