import numpy as np ''' numpy.random.rand(d0,d1,…,dn) 函数返回一个或一组[0,1)之间的样本,包含0,不包含1。 d0,d1,…,dn参数,返回值为指定维度的array ''' print( np.random.rand(4,2) ) ''' [[ 0.11685228 0.14712475] [ 0.11366056 0.76300761] [ 0.74363742 0.21181744] [ 0.61341155 0.44708576]] ''' print( np.random.rand(4,3,2) ) # shape: 4*3*2 ''' [[[ 0.04958074 0.13186831] [ 0.01945533 0.14773677] [ 0.62492951 0.47627959]] [[ 0.29653743 0.66367071] [ 0.0034495 0.70966783] [ 0.946643 0.11760016]] [[ 0.97410894 0.61808997] [ 0.28461861 0.77502732] [ 0.46417402 0.63161127]] [[ 0.03238787 0.53929789] [ 0.37450472 0.4295382 ] [ 0.61992048 0.677731 ]]] ''' ''' numpy.random.randn(d0,d1,…,dn) 函数返回一个或一组标准正态分布的样本。 d0,d1,…,dn参数,返回值为指定维度的array 其中,标准正态分布standard normal distribution又称u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1) ''' print( np.random.randn() ) # 当没有参数时,返回单个数据 -0.34632708415058944 print( np.random.randn(2,4) ) ''' [[-0.0235143 0.95461801 -0.35707671 -2.48551626] [ 1.17568014 -0.11793492 0.50482654 -0.53541761]] ''' print( np.random.randn(4,3,2) ) ''' [[[ 2.63462763 0.30592409] [ 0.38685566 -0.14514761] [-0.7830593 -2.02809833]] [[-0.43544759 -0.56320438] [ 0.94488263 0.35037063] [-0.11348007 -1.68347537]] [[-0.00520965 0.26542665] [ 0.30594313 1.12440037] [-0.63858492 0.50772968]] [[-2.09797551 0.28963364] [-1.7754612 1.41015309] [ 0.02481634 -0.24755163]]] ''' ''' numpy.random.randint(low, high=None, size=None, dtype='l') 返回随机整数,范围区间为[low,high),包含low,不包含high 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int high没有填写时,默认生成随机数的范围是[0,low) ''' print( np.random.randint(1,size=5) ) # 返回[0,1)之间的整数,所以只有0 [0 0 0 0 0] print( np.random.randint(1,5) ) # 返回1个[1,5)时间的随机整数 print( np.random.randint(-5,5,size=(2,2)) ) ''' numpy.random.random_integers(low, high=None, size=None) 返回随机整数,范围区间为[low,high],包含low和high 参数:low为最小值,high为最大值,size为数组维度大小 high没有填写时,默认生成随机数的范围是[1,low] 该函数在最新的numpy版本中已被替代,建议使用randint函数 ''' # print( np.random.random_integers(1,size=5) ) ''' 生成[0,1)之间的浮点数 numpy.random.random_sample(size=None) numpy.random.random(size=None) numpy.random.ranf(size=None) numpy.random.sample(size=None) ''' print('-----------random_sample--------------') print(np.random.random_sample(size=(2,2))) print('-----------random--------------') print(np.random.random(size=(2,2))) print('-----------ranf--------------') print(np.random.ranf(size=(2,2))) print('-----------sample--------------') print(np.random.sample(size=(2,2))) ''' numpy.random.choice(a, size=None, replace=True, p=None) 从给定的一维数组中生成随机数 参数:a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率 ''' print( np.random.choice(5,3) ) # [4 0 0] 从[0 5) 中随机选 3个数 组成array print( np.random.choice(5, 3, replace=False) ) # replace=False 生成的随机数不能重复 ##当a为整数,对应的一维数组时,且排序后 与 np.arange(4) 结果一样 aa = np.arange(4) print(aa) #[0 1 2 3]是有序的 bb = np.random.choice(4,4, replace=False); bb.sort() print(bb) #[0 1 2 3]是有序的 print( np.random.choice(5,size=(3,2))) demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone'] print( np.random.choice(demo_list,size=(3,3)) ) ''' [['moto' 'sansumg' 'xiaomi'] ['xiaomi' 'iphone' 'iphone'] ['moto' 'moto' 'xiaomi']] ''' ###参数p的长度与参数a的长度需要一致;参数p为概率,p里的数据之和应为1 demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone'] print( np.random.choice(demo_list,size=(3,3), p=[0.1,0.6,0.1,0.1,0.1]) ) ''' [['sansumg' 'iphone' 'sansumg'] ['iphone' 'lenovo' 'sansumg'] ['moto' 'sansumg' 'iphone']] ''' ''' np.random.seed()的作用:使得随机数据可预测。用于指定随机数生成时所用算法开始的整数值。 1.如果使用相同的seed( )值,则每次生成的随即数都相同; 2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。 3.设置的seed()值仅一次有效 ''' np.random.seed(1)
python - numpy.random 常用随机数
猜你喜欢
转载自blog.csdn.net/secondlieutenant/article/details/79641220
今日推荐
周排行