概述
实验目的
熟练掌握Numpy的random模块中常用函数的使用方法
实验原理
random中常用函数及其说明:
numpy.random.rand(d0, d1, …, dn):创建一个给定形状的,值从0-1均匀分布中随机抽取的浮点数组,其中d0, d1, …, dn为数组的维数,若参数为空时,返回一个0到1之间的浮点数。
numpy.random.randn(d0, d1, …, dn):创建一个给定形状的,值从标准正态分布(μ=0,σ=1)中随机抽取的浮点数组,其中d0, d1, …, dn为数组的维数,若参数为空时,返回一个该正态分布上的随机浮点数。
numpy.random.standard_normal(size=None):生产一个浮点数或N维浮点数组,取数范围:标准正态分布随机样本
numpy.random.randint(low, high=None, size=None, dtype=‘l’):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。
numpy.random.random_integers(low, high=None, size=None):生成一个整数或一个N维整数数组,取值范围:若high不为None,则取[low,high]之间随机整数,否则取[1,low]之间随机整数。
numpy.random.random_sample(size=None):生成一个[0,1)之间随机浮点数或N维浮点数组。
numpy.random.choice(a, size=None, replace=True, p=None):从序列中获取元素,若a为整数,元素取值为np.range(a)中随机数;若a为数组,取值为a数组元素中随机元素。
numpy.random.shuffle(x):对X进行重排序,如果X为多维数组,只沿第一条轴洗牌,输出为None。
numpy.random.permutation(x):与numpy.random.shuffle(x)函数功能相同,两者区别:permutation(x)不会修改X的顺序。
numpy.random.normal(loc=0.0, scale=1.0, size=None):生成一个标量或多维数组,取值范围:从高斯分布中随机抽取数值。loc:为方差,scale:为标准差,size:数组的形状。
numpy.random.uniform(low=0.0, high=1.0, size=None):生成一个标量或多维数组,取值范围:从p(x)=1/(high-low)的均匀分布中随机抽取数值。
low:浮点数或浮点型数组,为输出间隔的下界,high:浮点数或浮点型数组,为输出间隔的上界,size:整型或元组,数组的形状。
numpy.random.binomial(n, p, size=None):二项分布采样,size:采样的次数,n为成功的次数,p:成功的概率
numpy.random.seed()
- np.random.seed()的作用:使得随机数据可预测。
- 当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
实验内容
练习 numpy.random中常用函数的使用.
实验环境
Python 3.6
Jupyter
实验代码
1.使用numpy.random.rand()函数,创建一个1-0之间的随机浮点数
import numpy as np
np.random.rand()
0.9973438588424713
2.使用numpy.random.rand()函数,创建一个大小为5的一维随机浮点数组
np.random.rand(5)
array([0.97524436, 0.4958107 , 0.82614772, 0.56731404, 0.45002964])
3.使用numpy.random.rand()函数,创建一个3行4列的二维随机浮点数组
np.random.rand(3,4)
array([[0.69396222, 0.91919737, 0.68783588, 0.08711667],
[0.35295943, 0.64582403, 0.01180912, 0.25224169],
[0.96500808, 0.13655116, 0.62489743, 0.91029325]])
4.使用numpy.random.randn函数,创建一个正态分布中的随机浮点数(不一定是(0-1)之间的随机数)
np.random.randn()
-0.5147385179517995
5.使用numpy.random.randn() 函数,生成形状为5的值从标准正态分布(μ=0,σ=1)中随机抽取的一维浮点数组。
np.random.randn(5)
array([ 0.03126489, -0.96728699, 1.64621661, -0.64129089, 0.55649746])
6.使用numpy.random.randn()函数,创建一个2行3列的值从标准正态分布(μ=0,σ=1)中随机抽取的二维浮点数组
np.random.randn(2,3)
array([[-1.21234908, -0.17320489, 0.32503713],
[-0.40420385, -1.87416492, 2.75135187]])
7.使用numpy.random.standard_normal()函数,创建一个正态分布中的随机浮点数
np.random.standard_normal(size=None)
0.04295874186662941
8.使用np.randoml.standard_normal()函数,生成形状为3的值从标准正态分布(μ=0,σ=1)中随机抽取的一维浮点数组
np.random.standard_normal(size=3)
array([-0.47257812, 0.47061943, -2.30218443])
9.使用np.random.standard_normal()函数,创建一个3行3列的值从标准正态分布(μ=0,σ=1)中随机抽取的二维浮点数组
np.random.standard_normal((2,3))
array([[ 0.6761525 , 0.39931226, -0.77434411],
[-1.16939317, 0.22153849, -0.14662393]])
10.使用np.random.randint()函数,生成一个0-2之间的随机整数,设置数字类型参数dtype=int32
np.random.randint(2,dtype=np.int32)
1
11.使用np.random.randint()函数,生成形状为5的值从0-2随机抽取整数构成的一维数组
np.random.randint(2,size=5)
array([1, 1, 0, 1, 0])
12使用np.random.randint()函数,生成形状为5的值从2-6随机抽取整数构成的一维数组
np.random.randint(2,6,size=5)
array([3, 3, 2, 5, 5])
13.使用np.random.randint()函数,生成形状为2行3列,值为2-6中随机整数的二维数组
np.random.randint(2,6,size=(2,3))
array([[3, 3, 2],
[5, 5, 3]])
14.使用np.random.random_integers()函数,生成一个1-2之间的随机整数
np.random.random_integers(2)
<ipython-input-25-f05d5acc4756>:1: DeprecationWarning: This function is deprecated. Please call randint(1, 2 + 1) instead
np.random.random_integers(2)
2
15.使用np.random.random_integers()函数生成一个2-6之间的随机整数
np.random.random_integers(2,6)
<ipython-input-26-a0786e1a1811>:1: DeprecationWarning: This function is deprecated. Please call randint(2, 6 + 1) instead
np.random.random_integers(2,6)
2
16.使用np.random.random_integers()函数,生成长度为5的,值为1-2之间的随机整数构成的一维数组
np.random.random_integers(1,2,size=5)
<ipython-input-27-29059a9d3244>:1: DeprecationWarning: This function is deprecated. Please call randint(1, 2 + 1) instead
np.random.random_integers(1,2,size=5)
array([2, 1, 2, 2, 1])
17.使用np.random.random_integers()函数生成长度为5,值为2-6之间的随机整数构成的一维数组
np.random.random_integers(2,6,size=5)
<ipython-input-28-400d32483018>:1: DeprecationWarning: This function is deprecated. Please call randint(2, 6 + 1) instead
np.random.random_integers(2,6,size=5)
array([6, 2, 6, 6, 5])
18.使用np.random.random_integers()函数,生成形状为2行3列,值为1-2之间随机整数构成的二维数组
np.random.random_integers(1,2,size=(2,3))
<ipython-input-29-b2595db9c335>:1: DeprecationWarning: This function is deprecated. Please call randint(1, 2 + 1) instead
np.random.random_integers(1,2,size=(2,3))
array([[2, 1, 2],
[2, 1, 1]])
19.使用np.random.random_integers()函数生成形状2行3列,值为2-7之间随机整数构成的二维数组
np.random.random_integers(2,7,size=(2,3))
<ipython-input-30-587392619563>:1: DeprecationWarning: This function is deprecated. Please call randint(2, 7 + 1) instead
np.random.random_integers(2,7,size=(2,3))
array([[3, 7, 3],
[3, 4, 7]])
20.使用np.random.random_sample(size=None)函数,生成一个0-1之间随机浮点数
np.random.random_sample()
0.8835925540780203
21.使用np.random.random_sample()函数,生成长度为2,取值0-1之间的随机浮点数构成的一维数组
np.random.random_sample(2)
array([0.5810885 , 0.58488464])
np.random.random_sample(2,)
array([0.58186985, 0.20988911])
22.使用np.random.random_sample()函数,生成值由0-1之间的浮点数构成的2行3列的二维数组
np.random.random_sample((2,3))
array([[0.47763331, 0.97360871, 0.57307313],
[0.6426809 , 0.06443445, 0.73485938]])
23.使用np.random.random_sample()函数,生成0-1之间的随机浮点数构成的322的三维数组
np.random.random_sample((3,2,2))
array([[[0.4088975 , 0.22270118],
[0.82097827, 0.88908927]],
[[0.96302056, 0.89805219],
[0.55863401, 0.70950632]],
[[0.66071754, 0.98621104],
[0.22320362, 0.10105085]]])
24.使用numpy.random.choice()函数,生成一个range(2)中的随机数
np.random.choice(2)
0
25.使用numpy.random.choice()函数,生成一个shape=2,值由range(2)中随机数构成的一维数组。
np.random.choice(2,2)
array([1, 1])
26.使用numpy.random.choice()函数,生成值由range(5)中随机数构成的3行2列的二维数组。
np.random.choice(5,(3,2))
array([[2, 4],
[3, 2],
[2, 1]])
27.使用numpy.random.choice()函数,生成一个np.array([‘a’,‘b’,‘c’,‘f’]中随机元素
np.random.choice(np.array(['a','b','c','f']))
28.使用numpy.random.shuffle(x):对X进行重排序,如果X为多维数组,只沿第一条轴洗牌,输出为None
arr = np.arange(9).reshape(3,3)
arr
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
np.random.shuffle(arr)
arr
array([[6, 7, 8],
[3, 4, 5],
[0, 1, 2]])
29.使用numpy.random.permutation():与numpy.random.shuffle()函数功能相同,两者区别:permutation(x)不会修改X的顺序。
arr = np.arange(9)
np.random.permutation(arr)
array([6, 5, 2, 8, 7, 3, 0, 4, 1])
30…使用numpy.random.permutation()函数,对数组进行重新排序,对于多维数组,只会沿着第一条轴打乱顺序 ,即按行打乱行序。
arr2 = np.arange(9).reshape(3,3)
np.random.permutation(arr2)
array([[3, 4, 5],
[0, 1, 2],
[6, 7, 8]])
31.使用 numpy.random.normal()函数,从均值为0,标准差为1的高斯分布中随机抽取10个数,构建一个一维数组
np.random.normal(loc=0,scale=1,size=10)
array([-0.22914193, -0.30778216, 0.56903861, 2.2541222 , -0.19589127,
0.71526051, 0.43967649, -0.92584041, -0.10364788, -0.32458269])
32.使用np.random.uniform()函数,从下界为-1,上界为0的均匀分布中随机抽取6个数,构建一个3行2列的二维数组。
np.random.uniform(-1,0,(3,2))
array([[-0.04324442, -0.1794637 ],
[-0.9687359 , -0.49210078],
[-0.06421859, -0.32412507]])
33.使用np.random.binomial()函数,从成功次数n=10,成功概率p=0.5的二项分布中随机抽取10个数,构建一个一维数组。
np.random.binomial(n=10, p=0.5, size=10)
array([6, 7, 6, 5, 3, 8, 4, 5, 7, 4])
最后
以上就是复杂盼望为你收集整理的使用Numpy中的random模块中常用函数的使用方法的全部内容,希望文章能够帮你解决使用Numpy中的random模块中常用函数的使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复