np.random模块的使用介绍

  np.random模块常用的一些方法介绍

  名称  作用

  numpy.random.rand(d0, d1, …, dn)  生成一个[d0, d1, …, dn]维的numpy数组,数组的元素取自[0, 1)上的均分布,若没有参数输入,则生成一个[0, 1)的数。

  numpy.random.randn(d0, d1, …, dn)  生成一个[d0, d1, …, dn]维的numpy数组,具有标准正态分布。

  numpy.random.randint(low, high=None, size=None, dtype=‘I’)  生成整数,取值范围为[low, high),若没有输入参数high,则取值区间为[0, low)。

  numpy.random.uniform(low=0.0, high=1.0, size=None)  生成符合均分布的浮点数,取值范围为[low, high),默认取值范围为[0, 1.0)。

  numpy.random.normal(loc=0.0, scale=1.0, size=None)  按照正态分布生成均值为loc,标准差为scale的,形状为size的浮点数。

  numpy.random.random(size=None)  生成[0.0, 1.0)之间的浮点数。

  numpy.random.choice(a, size=None, replace=True, p=None)  从a(数组)中选取size(维度)大小的随机数,replace=True表示可重复抽取,p是a中每个数出现的概率。若a是整数,则a代表的数组是arange(a)。

  例子

  numpy.random.rand(d0, d1, …, dn):

  生成一个[d0, d1, …, dn]维的numpy数组,数组的元素取自[0, 1)上的均分布,若没有参数输入,则生成一个[0, 1)的数。

  import numpy as np

  v1 = np.random.rand()

  v2 = np.random.rand(3,4)

  print(v1)

  print(v2)

  输出结果为:

  0.618411110932038

  [[0.35134062 0.55609186 0.4173297 0.85541691]

  [0.35144304 0.31204156 0.60196109 0.390464 ]

  [0.19186067 0.94570486 0.8637441 0.07028114]]

  numpy.random.randn(d0, d1, …, dn):

  生成一个[d0, d1, …, dn]维的numpy数组,具有标准正态分布。

  import numpy as np

  v1 = np.random.randn()

  v2 = np.random.randn(3,4)

  print(v1)

  print(v2)

  输出结果为:

  0.47263651836701953

  [[-0.23431214 0.97197099 0.52845269 -0.45246824]

  [-1.1266395 -1.60040653 -2.64602615 -0.19457032]

  [-0.520287 -1.0799122 0.08441667 0.34980224]]

  numpy.random.randint(low, high=None, size=None, dtype=‘I’):

  生成整数,取值范围为[low, high),若没有输入参数high,则取值区间为[0, low)。

  import numpy as np

  v1 = np.random.randint(5)

  v2 = np.random.randint(1,high = 5)

  v3 = np.random.randint(1,high = 5,size = [3,4])

  print(v1)

  print(v2)

  print(v3)

  输出结果为:

  2

  3

  [[1 1 3 1]

  [2 2 3 2]

  [3 4 2 1]]

  numpy.random.uniform(low=0.0, high=1.0, size=None):

  生成符合均分布的浮点数,取值范围为[low, high),默认取值范围为[0, 1.0)。

  import numpy as np

  v1 = np.random.uniform()

  v2 = np.random.uniform(low = 0,high = 5)

  v3 = np.random.uniform(low = 0,high = 5,size = [3,4])

  print(v1)

  print(v2)

  print(v3)

  输出结果为:

  0.6925621763952164

  3.0483936610544218

  [[1.34959297 4.84117424 0.41277118 4.81392216]

  [2.91266734 0.87922181 3.39729422 3.34340092]

  [0.45158364 3.8129479 0.54246798 2.57192192]]

  numpy.random.normal(loc=0.0, scale=1.0, size=None)

  按照正态分布生成均值为loc,标准差为scale的,形状为size的浮点数。

  import numpy as np

  v1 = np.random.normal()

  v2 = np.random.normal(loc = 0,scale = 5)

  v3 = np.random.normal(loc = 0,scale = 5,size = [3,4])

  print(v1)

  print(v2)

  print(v3)

  输出结果为:无锡人流医院哪家好 http://www.wxbhnkyy120.com/

  0.7559391954091367

  -3.359831771004067

  [[ 3.90821047 6.37757533 6.3813528 0.86219281]

  [ -3.61201084 4.05948053 -3.91172941 11.29050165]

  [ -8.60318633 -10.07090496 -4.86557867 7.98536182]]

  numpy.random.random(size=None)

  生成[0.0, 1.0)之间的浮点数。

  import numpy as np

  v1 = np.random.random()

  v2 = np.random.random(size = [3,4])

  print(v1)

  print(v2)

  输出结果为:

  0.5930924941107145

  [[0.41002067 0.28097163 0.8908558 0.16951515]

  [0.59730596 0.57475303 0.84174255 0.59633522]

  [0.63508879 0.44138737 0.6223043 0.61540997]]

  numpy.random.choice(a, size=None, replace=True, p=None)

  从a(数组)中选取size(维度)大小的随机数,replace=True表示可重复抽取,p是a中每个数出现的概率。若a是整数,则a代表的数组是arange(a)。

  import numpy as np

  v1 = np.random.choice(5)

  v2 = np.random.choice(5,size = 5)

  v3 = np.random.choice([1,2,3,4,5],size = 5)

  v4 = np.random.choice([1,2,3,4,5],size = 5,p = [1,0,0,0,0])

  v5 = np.random.choice([1,2,3,4,5],size = 5,replace = False)

  print("v1:",v1)

  print("v2:",v2)

  print("v3:",v3)

  print("v4:",v4)

  print("v5:",v5)

  输出结果为:

  v1: 1

  v2: [0 0 4 0 4]

  v3: [3 2 3 1 1]

  v4: [1 1 1 1 1]

  v5: [4 2 3 5 1]

posted @ 2019-08-20 13:39  tiana_Z  阅读(1047)  评论(0编辑  收藏  举报