【发布时间】:2019-08-02 10:46:08
【问题描述】:
模拟掷硬币 10000 次的随机实验,并确定正面的数量。
提示:用n = 1 和p = 0.5 定义二项分布。
使用 scipy.stats 中的 binom 函数。
将随机种子设置为1。
从定义的分布中抽取10000 元素的样本。
假设值 0 和 1 分别代表 Heads 和 Tails。
计算正面的数量并显示出来。使用bincount 方法,在numpy 中可用。
我找到了答案,但不是来自scipy.stats 包,而是来自随机包。以下是我的尝试,但答案并不如预期。请帮助我纠正我的错误。
import scipy as sp
from scipy import stats
import numpy as np
import random
from scipy.stats import binom
data_binom = binom.rvs(n=1,p=0.5,size=10000)
np.random.seed(1)
#print(data_binom)
y = np.bincount(data_binom)
head = print(y[0])
print(head)
【问题讨论】:
-
head = print(y[0]) - 是你的错误。它将 head 分配给 None。你需要类似最后两行的东西:heads = y[0];尾巴 = y[1];打印(头);打印(尾巴)
-
嗨,亚历山大。谢谢,我试过这个,但它不是预期的。如果您有任何其他歧义,请告诉我。
-
你期待什么?
-
我添加了代码示例并删除了“随机”以消除歧义。
标签: python numpy statistics data-science