numpy中生成随机数的几种常用函数
【摘要】 1、使用numpy生成随机数的几种方式
1)生成指定形状的0-1之间的随机数:np.random.random()和np.random.rand()
array1 = np.random.random((3))
display(array1)
# -----------------------------------
array2 = np.random.ran...
1、使用numpy生成随机数的几种方式
1)生成指定形状的0-1之间的随机数:np.random.random()和np.random.rand()
array1 = np.random.random((3))
display(array1)
# -----------------------------------
array2 = np.random.random((3,4))
display(array2)
# -----------------------------------
array3 = np.random.rand(3)
display(array3)
# -----------------------------------
array4 = np.random.rand(2,3)
display(array4)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
① 操作如下
② 区别如下
2)生成指定数值范围内的随机整数:np.random.randint()
① 操作如下
array9 = np.random.randint(low=1, high=10, size=6, dtype=np.int32)
display(array9)
# ---------------------------------------------------------
array10 = np.random.randint(low=1, high=10, size=(2,3), dtype=np.int64)
display(array10)
# ---------------------------------------------------------
array11 = np.random.randint(low=1, high=10, size=(2,3,4), dtype=np.int32)
display(array11)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
② 结果如下
3)与正态分布有关的几个随机函数:np.random.randn()和np.random.normal()
- np.random.randn 生成服从均值为0,标准差为1的标准正态分布随机数;
- np.random.normal 生成指定均值和标准差的正态分布随机数;
array5 = np.random.randn(3)
display(array5)
# ---------------------------------------------
array6 = np.random.randn(2,3)
display(array6)
# ---------------------------------------------
array7 = np.random.normal(loc=2,scale=0.5,size=6)
display(array7)
# ---------------------------------------------
array8 = np.random.normal(loc=2,scale=0.5,size=6).reshape(2,3)
display(array8)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
① 结果如下
② 区别如下
4)均匀分布随机函数:np.random.uniform()
- 用法:生成指定范围内的服从均匀分布的随机数;
array11 = np.random.uniform(1,10,5)
display(array11)
# ---------------------------------
array12 = np.random.uniform(1,10,(2,3))
display(array12)
- 1
- 2
- 3
- 4
- 5
① 结果如下
5)np.random.seed():按照种子来生成随机数,种子一样,则生成的随机数结果必一致
① 操作如下
np.random.seed(3)
a = np.random.rand(3)
display(a)
np.random.seed(3)
b = np.random.rand(3)
display(b)
# --------------------------
np.random.seed()
a = np.random.rand(3)
display(a)
np.random.seed()
b = np.random.rand(3)
display(b)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
② 结果如下
6)np.random.shuffle():打乱数组元素顺序(原地操作数组)
c = np.arange(10)
display(c)
np.random.shuffle(c)
display(c)
- 1
- 2
- 3
- 4
① 结果如下
7)np.random.choice():按照指定概率从指定数组中,生成随机数;
① np.random.choice()函数的用法说明
d = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
display(d)
- 1
- 2
说明:上述函数第一个参数表示的是数组,第二个参数表示的是概率值。上述函数的含义是当进行n多次重复实验的时候,抽取1的概率为0.1,抽取2的概率为0.2,抽取3的概率为0.3,抽取4的概率为0.4。
② 结果如下
③ 随即进行10000次重复实验,检测每一个数,被抽取到的概率
list1 = [0,0,0,0]
for i in range(100000): f = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4]) list1[f-1] = list1[f-1] + 1
display(list1)
result_list = [value/sum(list1) for value in list1]
display(result_list)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
④ 结果如下
⑤ 模拟进行100000次掷硬币重复实验,检测每一面,被抽取到的概率
list1 = [0,0]
for i in range(100000): f = np.random.choice([0,1], p=[0.5,0.5]) list1[f] = list1[f] + 1
display(list1)
result_list = [value/sum(list1) for value in list1]
display(result_list)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
⑥ 结果如下
文章来源: blog.csdn.net,作者:数据分析与统计学之美,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_41261833/article/details/103745009
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)