numpy.random模块产生随机数
-
产生 [0, 1) 之间的随机数
-
numpy.random.rand()
:numpy.random.rand(d0,d1,…,dn) - rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1 - dn表示每个维度 - 返回值为指定维度的array
例1.1:
>>>np.random.rand(4,2) # 4行2列 array([[0.10669232, 0.9839076 ], [0.67376768, 0.79010495], [0.07939011, 0.22977188], [0.54017788, 0.68320903]])
-
numpy.random.random_sample(size=None)
-
numpy.random.random(size=None)
-
numpy.random.ranf(size=None)
-
numpy.random.sample(size=None)
这四个函数都是产生[0,1)之间随机数的函数,用法一样,
例1.2:
>>> np.random.random_sample(size=(4)) #一维的,4个 array([0.68867009, 0.08635921, 0.88254211, 0.60605036]) >>> np.random.random_sample(size=(2,3)) #二维 array([[0.89693949, 0.51200954, 0.24158491], [0.11665254, 0.41706794, 0.67003414]]) >>> np.random.random_sample(size=(3,2,4)) #三维 array([[[0.84050702, 0.35274098, 0.87450357, 0.65806499], [0.79937112, 0.43261848, 0.60403257, 0.28847194]], [[0.28142754, 0.00671447, 0.53684953, 0.72092988], [0.09717808, 0.85686328, 0.15504614, 0.28567422]], [[0.39187717, 0.94410192, 0.51994066, 0.17610175], [0.32837617, 0.77936727, 0.5924614 , 0.38951718]]])
-
-
返回正态分布的随机数
numpy.random.randn()
numpy.random.randn(d0,d1,…,dn) - randn函数返回一个或一组样本,具有标准正态分布。 - 标准正态分布介绍: 标准正态分布(standard normal distribution) 标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布, 记为N(0,1)。 - dn表示每个维度 - 返回值为指定维度的array,没给出参数时只返回一个随机数
np.random.normal(loc=0.0, scale=1.0, size=None)
- loc: 表示均值 - scale:表示标准差 - size:维度
-
返回随机整数
numpy.random.randint()
numpy.random.randint(low, high=None, size=None, dtype='l') - 返回随机整数,范围区间为[low,high),包含low,不包含high - 参数:low为最小值,high为最大值,size为数组维度大小, dtype为数据类型,默认的数据类型是np.int - high没有填写时,默认生成随机数的范围是[0,low)
-
返回随机浮点数
np.random.uniform(low=0.0, high=1.0, size=None)
- low:最小值 - high:最大值
-
从给定的一维数组中生成随机数
numpy.random.choice()
numpy.random.choice(a, size=None, replace=True, p=None) 参数: - a为一维数组类似数据(如列表)或整数; - size为数组维度; - replace表示是否允许有重复值 - p为数组中的各个数据出现的概率(与a数据个数要一致) a为整数时,内部自动转化为对应的一维数组为np.arange(a)
例5.1
>>>np.random.choice(5,3) array([4, 1, 4])
>>>np.random.choice(5, 3, replace=False) # 当replace为False时,生成的随机数不能有重复的数值 array([0, 3, 1])
>>>np.random.choice(5,size=(3,2)) array([[1, 0], [4, 2], [3, 3]])
-
使用随机数种子生成随机数
numpy.random.seed()
作用:
- 使得随机数据可预测。
- 当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数。
例6.1
np.random.seed(0) #第一个种子 np.random.rand(5) out: array([ 0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ]) #------------------------------------------------------------------------------------- np.random.seed(1676) #第二个种子,相比于第一个发生改变 np.random.rand(5) out:array([ 0.39983389, 0.29426895, 0.89541728, 0.71807369, 0.3531823 ]) #和之前不一样了 #------------------------------------------------------------------------------------- np.random.seed(1676) #第三个种子,与第二个种子一样 np.random.rand(5) out:array([ 0.39983389, 0.29426895, 0.89541728, 0.71807369, 0.3531823 ]) #与第二次一样
第三个种子产生的随机数与第二个产生的随机数一样。
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/15383599.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人