Je souhaite créer une sous-classe de scipy.stats.rv_discrete
pour ajouter des méthodes supplémentaires. Toutefois, lorsque j'essaie d'accéder à la méthode pmf()
de la sous-classe, une erreur est générée. S'il vous plaît voir l'exemple suivant:L'instance de sous-classe scipy.stats.rv_discrete génère une erreur sur la méthode pmf()
import numpy as np
from scipy import stats
class sub_rv_discrete(stats.rv_discrete):
pass
xk = np.arange(2)
pk = (0.5, 0.5)
instance_subclass = sub_rv_discrete(values=(xk, pk))
instance_subclass.pmf(xk)
Il en résulte:
Traceback (most recent call last):
File "<ipython-input-48-129655c38e6a>", line 11, in <module>
instance.pmf(xk)
File "C:\Anaconda3\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 2832, in pmf
args, loc, _ = self._parse_args(*args, **kwds)
AttributeError: 'rv_sample' object has no attribute '_parse_args'
Malgré cela, si je l'utilise directement stats.rv_discrete
, tout va bien:
instance_class = stats.rv_discrete(values=(xk, pk))
instance_class.pmf(xk)
---> array([ 0.5, 0.5])