Numpy || 使用random生成随机数

生成随机数:

**numpy.random.rand()函数:**根据给定维度生成 [0,1) 之间的随机数

import random
#一维随机数组 
a=np.random.rand(4)
#二维随机数组
b=np.random.rand(2,3)
#三维随机数组
c=np.random.rand(2,2,3)
print('a ',a,'\nb ',b,'\nc ',c)
'''
a  [0.64097331 0.1286329  0.47131571 0.44413528] 
b  [[0.28962983 0.18147367 0.52441081]
 [0.81963655 0.33998513 0.25361304]] 
c  [[[0.38709846 0.79445737 0.59136847]
  [0.01077105 0.2672447  0.61083517]]

 [[0.46895598 0.32117222 0.20212303]
  [0.29285817 0.96988052 0.57589518]]]
'''

**numpy.random.randn()函数:**根据给定的维度生成一组正态分布的随机数样本

from matplotlib import pyplot as plt
a=np.random.randn(1000)
plt.hist(a)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v7OmDizn-1667539953992)(C:\Users\神罗天征\AppData\Roaming\Typora\typora-user-images\image-20221104113951489.png)]

**numpy.random.randint()函数:**返回指定区间内的随机整数

numpy.random.randint(low,high=None,size=None,dtype=int)
#	low:最小值
#	high:最大值
#	size:数组维度大小
#	dtype:数据类型,default=int

随机整数的区间范围为:[low,high)

当没有输入high值时,默认生成随机数的范围为:[0,low)

#生成[0,2)的随机整数
a=np.random.randint(2,size=10)
#生成[2,6)的随机整数
b=np.random.randint(2,6,size=10)
#生成[2,6)的随机整数,shape为(2,3)
c=np.random.randint(2,6,size=(2,3))
print('a ',a,'\nb ',b,'\nc ',c)
'''
a  [1 1 1 0 1 1 1 0 1 0] 
b  [3 2 4 4 5 3 4 5 5 4] 
c  [[3 2 5]
 	[3 3 2]]
'''

**numpy.random.sample()函数:**返回 **[0,1)**的随机浮点数

a=np.random.sample(4)
b=np.random.sample((2,2))
print('a ',a,'\nb ',b)
'''
输出:
a  [0.27973247 0.92513477 0.12984485 0.54353547] 
b  [[0.2427091  0.37242703]
 	[0.98535264 0.72648288]]
'''

**numpy.random.seed()函数:**随机种子,随机种子相同,则每次生成的随机数相同

np.random.seed(0)
a=np.random.rand(5)
np.random.seed(0)
b=np.random.rand(5)
np.random.seed(2)
c=np.random.rand(5)
print('a ',a,'\nb ',b,'\nc ',c)
'''
输出:
a  [0.5488135  0.71518937 0.60276338 0.54488318 0.4236548 ] 
b  [0.5488135  0.71518937 0.60276338 0.54488318 0.4236548 ] 
c  [0.4359949  0.02592623 0.54966248 0.43532239 0.4203678 ]
'''

**numpy.random.normal()函数:**生成正态分布数组

numpy.random.normal(loc=0.0,scale=1.0,size=None)
#	loc:正态分布的均值
#	scale:正态分布的均方差
#	size:指定的数组形状

如果不提供size则返回一个随机数

from matplotlib import pyplot as plt
a=np.random.normal(4,2,size=1000)
plt.hist(a)
b=np.random.normal(4,2,size=(2,3))
print('b ',b)
c=np.random.normal(4,2)
print('c ',c)
'''
输出:
b  [[6.99874875 2.03102122 5.17160408]
 	[5.76648654 3.80133834 7.91437832]]
c  2.3329596521516227
'''

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yn8iPQry-1667539953994)(C:\Users\神罗天征\AppData\Roaming\Typora\typora-user-images\image-20221104123032178.png)]

你可能感兴趣的:(numpy,python,数据分析)