Numpy中np.random.randn与np.random.rand的区别,及np.mgrid与np.ogrid的理解

np.random.randn是基于标准正态分布产生的随机数,np.random.rand是基于均匀分布产生的随机数,其值在[0,1).

np.mgrid 与np.ogrid的理解及区别:
两者都是为生成二维数组的,而ogrid,顾名思义,就是open-mesh-grid,not flesh-out,而mgrid是dense,flesh-out的。所谓dense的意思在这里可以理解成“饱满状态”,就是np.mgrid返回值x,y都是n*n维度,而open-mesh-grid不是“饱满状态”,所以返回值x为n*1维度,y为1*n维度,注意这里x不是1*n,y不是n*1,因为mgrid与ogrid分别产生的xx,yy(x,y),要有x+y==xx+y,x*y==xx*yy,x@y==xx@yy,这里,x+y及x*y都进行了广播,所以如果x是1*n,y是n*1,显然x@y后维度是1而不是n*n。

##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
原文地址:https://www.cnblogs.com/johnyang/p/11904993.html