numpy函数记录

自己在做CS231N课程的时候,经常遇到一些函数不熟悉,每次都要反复查询,故特此记录便于日后查找

np.random.choice

numpy.random.choice(a, size=None, replace=True, p=None)
从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组
replace:True表示可以取相同数字,False表示不可以取相同数字
数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同。

numpy.prod

返回给定维度上各个元素的乘积
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>)
axis是指求积的维度
keepdims是指保持维度,不缩减
initial是起始数,即返回的矩阵会在元素乘积上再乘起始数

>>> np.prod([[1.,2.],[3.,4.]])
24.0
>>> np.prod([[1.,2.],[3.,4.]], axis=1)
array([  2.,  12.])
>>> x = np.array([1, 2, 3], dtype=np.uint8)
>>> np.prod(x).dtype == np.uint
True
>>> np.prod([1, 2], initial=5)
10

 np.linspace

生成指定范围内指定个数的一维数组

  • def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None):
  • 在指定的间隔[“start”,“stop”]内均匀地返回数字。返回“num”个等间距的样本。
  • endpoint是一个bool类型的值,如果为"Ture",“stop"是最后一个值,如果为"False”,生成的数组不会包含"stop"值
  • retstep是一个bool类型的值,如果为"Ture",会返回样本之间的间隙。
  • 其他相似的函数
    • arange 和 linespace 相似,但是使用步长而不是样本的数量来确定生成样本的数量.
>>> np.linspace(2.0, 3.0, num=5)
    array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
    array([ 2. ,  2.2,  2.4,  2.6,  2.8])
>>> np.linspace(2.0, 3.0, num=5, retstep=True)
    (array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)

np.random.uniform

函数原型:  numpy.random.uniform(low,high,size)

功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.

参数介绍:
    
    low: 采样下界,float类型,默认值为0;
    high: 采样上界,float类型,默认值为1;
    size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。

返回值:ndarray类型,其形状和参数size中描述一致。

np.random.normal()

numpy.random.normal(loc=0,scale=1e-2,size=shape)

其参数意义为:
参数loc(float):正态分布的均值,对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,
参数scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。
参数size(int 或者整数元组):输出的值赋在shape里,默认为None。

标准正态分布,对应于np.random.normal(loc=0, scale=1, size)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值