📜  Python中的numpy.random.randn

📅  最后修改于: 2020-06-17 04:38:08             🧑  作者: Mango

numpy.random.randn(d0, d1, …, dn) : 创建一个指定形状的数组,并按照标准正态分布将其填充为随机值。

如果提供了正参数,则randn会生成一个形状为(d0,d1,…,dn)的数组,其中填充了从均值0和方差1单变量“正态”(高斯)分布采样的随机浮点数(如果d_i为浮点数,它们首先通过截断转换为整数)。如果未提供任何参数,则返回从分布中随机采样的单个浮点数。

 

参数:

d0,d1,…,dn:[int,可选]我们需要的返回数组的维数,
如果未提供任何参数,则返回单个Python浮点数。

返回:

定义形状的数组,填充有来自 标准正态分布的随机浮点样本。

代码1:随机构造一维数组

# Python程序说明numpy.random.randn()方法 
   
import numpy as geek 
   
# 一维阵列 
array = geek.random.randn(5) 
print("一维数组,用randnom值填充 : \n", array);

输出:

一维数组,用randnom值填充 : 
 [-0.51733692  0.48813676 -0.88147002  1.12901958  0.68026197]

代码2:随机构造2D数组

# Python程序说明numpy.random.randn()方法 
   
import numpy as geek 
   
# 2D阵列    
array = geek.random.randn(3, 4) 
print("二维数组填充有随机值 : \n", array); 

输出:

二维数组填充有随机值 : 
 [[ 1.33262386 -0.88922967 -0.07056098  0.27340112]
 [ 1.00664965 -0.68443807  0.43801295 -0.35874714]
 [-0.19289416 -0.42746963 -1.80435223  0.02751727]]

 

代码3:随机构造3D数组

# Python程序说明numpy.random.randn()方法 
   
import numpy as geek 
   
# 3D阵列      
array = geek.random.randn(2, 2 ,2) 
print("3D数组填充有随机值 : \n", array); 

输出:

3D数组填充有随机值 : 
 [[[-0.00416587 -0.66211158]
  [-0.97254293 -0.68981333]]

 [[-0.18304476 -0.8371425 ]
  [ 2.18985366 -0.9740637 ]]]

代码4:使用随机创建的数组进行操作

# Python程序说明numpy.random.randn()方法 
   
import numpy as geek 
   
# 3D阵列      
array = geek.random.randn(2, 2 ,2) 
print("3D数组填充有随机值 : \n", array); 
       
# 值乘以3
print("\nArray * 3 : \n", array *3) 
  
# 或者我们直接通过  
array = geek.random.randn(2, 2 ,2) * 3 + 2
print("\nArray * 3 + 2 : \n", array); 

输出:

3D数组填充有随机值 : 
 [[[ 1.9609643  -1.89882763]
  [ 0.52252173  0.08159455]]

 [[-0.6060213  -0.86759247]
  [ 0.53870235 -0.77388125]]]

Array * 3 : 
 [[[ 5.88289289 -5.69648288]
  [ 1.56756519  0.24478366]]

 [[-1.81806391 -2.6027774 ]
  [ 1.61610704 -2.32164376]]]

Array * 3 + 2 : 
 [[[-2.73766306  6.80761741]
  [-1.57909191 -1.64195796]]

 [[ 0.51019498  1.30017345]
  [ 3.8107863  -4.07438963]]]