首页 > 解决方案 > 为什么我无法成功扩展 scipy rv_discrete 类?

问题描述

我正在尝试扩展 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))

它工作得很好。

知道为什么吗?谢谢您的帮助

标签: scipy

解决方案


推荐阅读