目录
随机函数
1、numpy.random.rand(d0,d1,...,dn)
2、numpy.random.randn(d0,d1,....,dn)
3、numpy.random.randint()
4、numpy.random.sample
5、随机种子np.random.seed()
6、正态分布numpy.random.normal
NumPy中也有自己的随机函数,包含在random模块中。它能产生特定分布的随机数,如正态分布等。接下来介绍一些常用的随机数。
. rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1. dn表示每个维度
·返回值为指定维度的array
import numpy as np
from matplotlib import pyplot as plt
#创建4行2列的随机数据
a=np.random.rand(4,2)
plt.hist(a)
#创建2块2行3列的数据
b=np.random.rand(2,2,3)
b
. randn函数返回一个或一组样本,具有标准正态分布。
. dn表示每个维度
·返回值为指定维度的array
标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N (0,1)。
from matplotlib import pyplot as plt
a=np.random.randn(50)
print(a)
plt.hist(a)
### numpy.random.normal()
numpy.random.normal(loc=0.0,scale=1.0,size=None)
返回一个由size指定形状的数组,数组中的值服从 μ=loc σ=scale 的正态分布
numpy.random.randint(low,high=None,size=None,dtype=’1’)
·返回随机整数,范围区间为[low,high),包含low,不包含high
·参数: low为最小值,high为最大值,size为数组维度大小,dtype为数据类型
默认的数据类型是np.int
high没有填写时,默认生成随机数的范围是[0,low)
# 返回[0,1)之间的整数,所以只有0
c=np.random.randint(1,size=5)
np.shape(c)
#返回1个[1,5)之间的随机整数
np.random.randint(1,5)
# 返回 -5到5之间不包含5的 2行2列数据
np.random.randint(-5,5,size=(2,2))
# 返回 -5到5之间不包含5的 2块3行4列的随机整数
np.random.randint(-5,5,size=(2,3,4))
numpy.random. sample(size=None)
返回半开区间内的随机浮点数[0.0,1.0].
np.random.sample((2,3))
使用相同的seed()值,则每次生成的随机数都相同,使得随机数可以预测
但是,只在调用的时候seed()一下并不能使生成的随机数相同,需要每次调用都seed()一下,表示种子相同,从而生成的随机数相同。
np.random.seed(1)
L1=np.random.randn(3,3)
np.random.seed(1)
L2=np.random.randn(3,3)
print(L1)
print(L2)
numpy.random. normal(loc=0.0,scale=1.0, size=None)¶
作用:返回一个由size指定形状的数组,数组中的值服从u=loc,o=scale的正态分布。
参数:
loc : float型或者float型的类数组对象,指定均值u.
scale : float型或者float型的类数组对象,指定标准差.
.size : int型或者int型的元组,指定了数组的形状。如果不提供size,且loc和scale为标量(不是类数组对象),则返回一个服从该分布的随机数。
from matplotlib import pyplot as plt
#标准正态分布
a=np.random.normal(0,1,(3,2))
print(a)
print(plt.hist(a))
print('-----------------------------------------')
#均值为1,标准差为3
b=np.random.normal(1,3,(20,))
print(b)
plt.hist(b)