Python中二项分布的概率质量函数

5
我正在使用Python3计算这个维基百科示例的概率质量函数(PMF):

enter image description here

我试图遵循这个scipy文档:

https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.stats.binom.html

文档明确说明:
Notes

The probability mass function for binom is:

binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)

for k in {0, 1,..., n}.

binom takes n and p as shape parameters.

好的,我尝试着以维基百科的例子为蓝本来实现它。这是我的代码:

from scipy.stats import binom

n = 6

p = 0.3

binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)

print  (binom.pmf(1))

然而,我收到了这个错误信息:
  File "binomial-oab.py", line 7
    binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
    ^
SyntaxError: can't assign to function call

我该如何解决这个问题?

2个回答

14

只需调用binom.pmf(1,n,p)即可获得k = 1的结果。文档中的表达式仅向您展示如何在数学上定义PMF,而不是您需要执行的实际代码片段。


3
您可以使用scipy.stats.binom.pmf(k)来完成此操作。例如:
n = 10
p = 0.3
k = np.arange(0,21)
binomial = scipy.stats.binom.pmf(k,n,p)
print(binomial)

嗨,Anmol,欢迎来到StackOverflow。您实际上并没有在这里提出问题,而只是发布了一些代码。为了从我们的社区获得帮助,请编辑您的问题以添加一些澄清细节。如果您向人们解释您遇到的问题和需要的帮助,那将会很有帮助。祝你好运。 - Simon McClive
代码似乎是从这个网站上获取的:http://bigdata-madesimple.com/how-to-implement-these-5-powerful-probability-distributions-in-python/ - baxx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接