微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

二项式分布返回一个Numpy数组

如何解决二项式分布返回一个Numpy数组

给定每个试验的试验次数(n)和概率(p),需要生成10次测试的二项式分布。

输出应包含一个numpy数组,其中包含10个代表所需二项式分布的数字。

样本输入: 0 10 0.5

预期输出

[5 6 5 5 5 6 5 7 8 5]

我的代码

import numpy as np
import pandas as pd
pd.set_option('display.max_columns',500)
np.random.seed(0)
seed=int(input())
n=int(input())
p=float(input())
i = 1
while i <= n:
    x = np.random.binomial(n,p)
    s=np.array(x)
    print(s)
    i += 1

代码输出

5 6 5 5 5 6 5 7 8 5

输出没有按预期输出,我在这里做什么错了?

解决方法

尝试以下方法,它会生成10个二项式RV,而不会产生循环:

import numpy as np
n = 8
p = 0.1
np.random.binomial(n,p,10)
# array([0,1,2,3,0])
,

试试这个,

np.random.seed(0)
s=np.random.binomial(n,10)
print(s)
,
import numpy as np 

seed=int(input())
n=int(input())
p=float(input())

np.random.seed(seed)
s =np.random.binomial(n,10)
print(s)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。