关于numpy.random.normal()以及np.clip()的学习笔记

首先回忆一下正态分布:

在numpy中对应于:

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

参数的意义:

loc:float

代表概率分布的均值,在正态分布图中表示中心的位置坐标

scale:float

代表概率分布的标准差,在正态分布图中表示图形的宽度。值越大,图像越矮胖,值越小,图像越高瘦。

size:int or tuple of ints

代表输出的shape,默认为None,只输出一个值

在我们熟悉的正态分布中,其等价于标准正太分布(μ=0, σ=1)。

 

接下来是关于np.clip()截取函数的理解:
np.numpy(a,a_min,a_max,out=None)

将数组a中的所有数限定在范围[a_min,a_max],其中小于a_min的数,将变为a_min,大于a_max的值,将变为a_max。

参数含义:

a:代表要截取的数组

a_min:代表截取的下限,可以为数组,代表对应位置元素的截取下限

a_max:代表截取的上限,可以为数组,代表对应位置元素的截取上限

out:可选项,表示将强制截取后的结果放到这个数组中,但out中数组的shape必须和a的shape相同。

这里请注意,进行强制截取后,a中数据并未发生变化,只是获得了一个临时的数组。若想讲a变为,截取后的结果,

可以将out设置为a,或者将结果赋值给a。

 

例子:

>>> a = np.arange(10)

>>> np.clip(a, 1, 8)

array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8])

>>> a   #a的值并未发生变化

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> np.clip(a, 3, 6, out=a)   #将截取后的结果赋值给a

array([3, 3, 3, 3, 4, 5, 6, 6, 6, 6])

>>> a = np.arange(10)

>>> a

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> np.clip(a, [3, 4, 1, 1, 1, 4, 4, 4, 4, 4], 8)  #a_min也可以为数组,截取下限分别为数组元素,上限都为8

array([3, 4, 2, 3, 4, 5, 6, 7, 8, 8])

 

 

 

### 回答1: numpy.random.normalNumPy 库中的一个函数,用于生成符合正态分布(也称为高斯分布)的随机数。该函数的语法如下: numpy.random.normal(loc=0.0, scale=1.0, size=None) 其中,loc 表示正态分布的均值,scale 表示正态分布的标准差,size 表示生成的随机数的数量或形状。例如,如果我们想生成一个均值为 0、标准差为 1,形状为 (2, 3) 的正态分布随机数数组,可以这样调用该函数: ```python import numpy as np arr = np.random.normal(loc=0.0, scale=1.0, size=(2, 3)) print(arr) ``` 输出结果可能如下所示: ``` [[ 1.76405235 0.40015721 0.97873798] [ 2.2408932 1.86755799 -0.97727788]] ``` ### 回答2: numpy.random.normal是一个功能强大的函数,用于生成符合正态分布的随机数。 该函数的语法如下: numpy.random.normal(loc=0.0, scale=1.0, size=None) 其中,loc参数表示正态分布的均值(默认值为0.0),scale参数表示正态分布的标准差(默认值为1.0),而size参数表示输出数组的形状。 调用numpy.random.normal函数时,会返回一个数组,数组中的元素符合指定的均值和标准差的正态分布。生成的随机数具有以下特点: 1. 随机数的均值接近于指定的loc参数。 2. 随机数的标准差接近于指定的scale参数。 3. 随机数的分布呈现出正态分布的特征,即满足钟形曲线的形状。 我们可以通过调整loc和scale参数的值来控制生成随机数的均值和标准差。例如,如果想生成均值为5,标准差为2的随机数,可以写成numpy.random.normal(loc=5, scale=2)。如果想生成一个3行2列的矩阵,可以写成numpy.random.normal(size=(3,2))。 总之,numpy.random.normal函数是一个方便生成符合正态分布随机数的工具,可以灵活地调整均值、标准差和生成随机数的形状,方便进行随机数的模拟和统计分析。 ### 回答3: numpy.random.normalNumPy库中用于生成符合正态分布(高斯分布)的随机数的函数。正态分布是在统计学中非常重要的一种概率分布,具有对称的钟形曲线特征。 使用numpy.random.normal函数可以生成一个或多个服从正态分布的随机数。函数的参数包括均值(mean)、标准差(std)、生成随机数的数量(size)等。 例如,使用函数numpy.random.normal(0, 1, 100)可以生成100个均值为0、标准差为1的随机数。 需要注意的是,生成的随机数是根据算法生成的伪随机数,其实际的分布是近似于正态分布的。可以通过增大生成随机数的数量来提高近似程度。 使用numpy.random.normal函数生成的随机数可以用于模拟实验、数据分析、机器学习等领域。在这些应用中,正态分布的特性提供了方便的数学模型,可以进行推断与预测。 总而言之,numpy.random.normal函数是一个方便的工具,可以用于生成服从正态分布的随机数,用于各种统计分析及数值计算中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值