如何扩展Python scipy.stats类?

时间:2019-10-07 15:32:03

标签: python-3.x inheritance scipy

我正在尝试向现有的python scipy.stats类中添加一种方法,但它会生成_construct_docstrings错误。

import scipy.stats as stats

class myPoisson(stats.poisson) :
  def myMethod(var, **kwargs) :
    return var

我尝试添加一个__init__方法并调用super().__init__(self),但这并没有改变错误。

扩展现有的Python类时我缺少什么?

2 个答案:

答案 0 :(得分:1)

希望以下示例对您有所帮助。

def myMethod(var, **kwargs):
    return var

stats.poisson.myMethod = myMethod

stats.poisson.myMethod(2)

有关该主题的更多详细信息,请参见Adding a Method to an Existing Object Instance

答案 1 :(得分:0)

Scipy.stats分布是 instances ,而不是类(出于历史原因)。因此,您需要继承自poisson_gen,而不是poisson。更好的是,直接从rv_continuousrv_discrete继承。有关子类分布的一些信息,请参见rv_continuous的文档字符串