Sympy Stats: ValueError: not an integer ​

Sympy Stats: ValueError: not an integer ​

我正在尝试以代数方式操纵二项式分布。具体来说,我想得到一个随机变量的期望值和标准差:

import sympy
import sympy.stats
from sympy import *

a = sympy.Symbol('a', integer=True)
W = sympy.stats.Binomial('W', a, sympy.S.Half, +1, -1) 
print (W)
print (sympify(a).is_integer)

sympy.stats.E(W)

输出

W
True

然后抛出 ValueError: a is not an integer。我想知道我在这里做错了什么。

当我将您的代码复制并粘贴到当前母版时,我得到

Sum(Piecewise((2**(-_k)*2**(_k - a)*_k*binomial(a, _k), (_k >= 0) & (_k <= a)), (0, True)), (_k, 0, a))

可能您使用的是旧版本的 SymPy。