Numpy 随机函数的阐述

目录

随机函数

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模块中。它能产生特定分布的随机数,如正态分布等。接下来介绍一些常用的随机数。

Numpy 随机函数的阐述_第1张图片

1、numpy.random.rand(d0,d1,...,dn)

. 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)

 Numpy 随机函数的阐述_第2张图片

#创建2块2行3列的数据
b=np.random.rand(2,2,3)
b

 Numpy 随机函数的阐述_第3张图片

2、numpy.random.randn(d0,d1,....,dn) 

. 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 随机函数的阐述_第4张图片

### numpy.random.normal()
numpy.random.normal(loc=0.0,scale=1.0,size=None)
返回一个由size指定形状的数组,数组中的值服从 μ=loc  σ=scale 的正态分布

3、numpy.random.randint()

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 随机函数的阐述_第5张图片

4、numpy.random.sample 

numpy.random. sample(size=None)

返回半开区间内的随机浮点数[0.0,1.0].

np.random.sample((2,3))

5、随机种子np.random.seed() 

使用相同的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 随机函数的阐述_第6张图片

6、正态分布numpy.random.normal 

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)

Numpy 随机函数的阐述_第7张图片

你可能感兴趣的:(数据分析,numpy,python,数据分析)