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)
① 操作如下
② 区别如下
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)
② 结果如下
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)
① 结果如下
② 区别如下
4)均匀分布随机函数:np.random.uniform()
用法:生成指定范围内的服从均匀分布的随机数;
array11 = np.random.uniform(1,10,5) display(array11) # --------------------------------- array12 = np.random.uniform(1,10,(2,3)) display(array12)
① 结果如下
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)
② 结果如下
6)np.random.shuffle():打乱数组元素顺序(原地操作数组)
c = np.arange(10) display(c) np.random.shuffle(c) display(c)
① 结果如下
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)
说明:上述函数第一个参数表示的是数组,第二个参数表示的是概率值。上述函数的含义是当进行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)
④ 结果如下
⑤ 模拟进行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)
⑥ 结果如下
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。